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课表

  

原文地址:https://www.cnblogs.com/wnzhong/p/5874931.html