• 2016/09/15


    1. Python视频

      B. 装饰器

        B-1 装饰器流程剖析

    							# 解释器步骤:
    def outer(func):			# 1.解释outer,不执行内部
    	def inner():			# 3.解释inner
    		print('before')				# 5.1
    		func()						# 5.2 指向老的f1
    		print('after')				# 5.4 
    	return inner			# 4.返回inner函数给f1(若inner加括号,则会先执行inner函数)
    							#   则f1函数只想inner函数。若调用f1,则执行inner函数,示例5
    
    
    # @ + 函数名
    # 功能:
    # 	1.自动执行outer函数并且将下面的函数名f1当作参数传递
    #	2.将outer函数的返回值,重新赋值给f1
    
    @outer						# 2.解释,执行outer
    def f1():
    	print('F1')						# 5.3
    

        B-2 装饰器之返回值

    def outer(func):
    	def inner():
    		print('before')
    		r = func()
    		print('after')
    		return r
    	return inner
    
    
    # @ + 函数名
    # 功能:
    # 	1.自动执行outer函数并且将下面的函数名f1当作参数传递
    #	2.将outer函数的返回值,重新赋值给f1
    
    @outer
    def f1():
    	print('F1')
    	return 'FFFFF'
    

      

    import decorator
    
    ret = decorator.f1()
    print('返回值', ret)
    

        B-3 装饰器之参数 (一个参数)

    def outer(func):
    	def inner(a):
    		print('before')
    		r = func(a)
    		print('after')
    		return r
    	return inner
    
    
    # @ + 函数名
    # 功能:
    # 	1.自动执行outer函数并且将下面的函数名f1当作参数传递
    #	2.将outer函数的返回值,重新赋值给f1
    
    @outer
    def f1(arg):
    	print(arg)
    	return 'FFFFF'
    import decorator
    
    ret = decorator.f1('fafafa')
    print('返回值', ret)
    

        B-2 装饰器之参数 (万能参数)

    def outer(func):
    	def inner(*args, **kwargs):
    		print('before')
    		r = func(*args, **kwargs)
    		print('after')
    		return r
    	return inner
    
    
    # @ + 函数名
    # 功能:
    # 	1.自动执行outer函数并且将下面的函数名f1当作参数传递
    #	2.将outer函数的返回值,重新赋值给f1
    
    @outer
    def f1(arg):
    	print(arg)
    	return 'FFFFF'
    
    
    @outer
    def f2(arg1, arg2):
    	print('F2')
    
    
    @outer
    def f100(arg1, arg2, arg3, arg4):
    	print('F100')
    

      

    import decorator
    
    ret = decorator.f1('fafafa')
    print('返回值', ret)
    
    decorator.f2(11,22)
    
    decorator.f100(11,22,33,44)

      装饰器实例:用户管理程序

    2. MOOC - 用Python玩转数据 -> 完成

      作业:寻找第n个默尼森数。 P是素数且M也是素数,并且满足等式M=2**P-1,则称M为默尼森数。

    #!usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author: Wayne Zhong
    
    
    def is_prime(num):
    	for i in range(2, num):
    		if num % i == 0:
    			break
    	else:
    		return True
    
    
    def monisen(no):
    	mns = []
    	x = 2
    	while True:
    		if is_prime(x) and is_prime(2 ** x - 1):
    			num = 2**x - 1
    			mns.append(num)
    			if len(mns) > no:
    				break
    			else:
    				x += 1
    		else:
    			x += 1
    	#print(mns)
    	return mns[no-1]
    
    
    print(monisen(int(input())))

    3. MOOC - 数据库技术及应用

      第1周:走进数据库

    *******************************************************************************

    4. MOOC课表

      

  • 相关阅读:
    数据库表数据传输到Oracle方案
    Pdnovel 在线阅读体验
    Metaweblog博客分发体验
    Liveqrcode活码系统设计
    Java Language Changes for Java SE 9
    利用“计算器”和公式做房贷计算
    阿里云SLB快速切换至https
    Charles 协助解决 metaweblog 排序问题
    Go语言网络通信---连续通信的UDP编程
    Go语言网络通信---一个简单的UDP编程
  • 原文地址:https://www.cnblogs.com/wnzhong/p/5874931.html
Copyright © 2020-2023  润新知