。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。
进阶篇的装饰器听不懂的程序猿前来报道
。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。
进阶篇的装饰器听不懂的程序猿前来报道
。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。。◕‿◕。
2017-04-03
def set_passline(passline):
def cmp(val):
if val>=passline:
print('pass')
else:
print('failed')
return cmp
func_100=set_passline(60)
func_150=set_passline(90)
func_100(89)
func_150(89)
返回的是cmp函数,func_100=cmp,然后传值再比较
def cmp(val):
if val>=passline:
print('pass')
else:
print('failed')
return cmp
func_100=set_passline(60)
func_150=set_passline(90)
func_100(89)
func_150(89)
返回的是cmp函数,func_100=cmp,然后传值再比较
2017-04-01
def route(path):
def decorator(func):
def wrapper(*args, **kwargs):
print "Path is: {}".format(path)
return func(*args, **kwargs)
return wrapper
return decorator
@route('/index.php')
def index(a, b):
print 'Index page will be show!', a, ":",b
def decorator(func):
def wrapper(*args, **kwargs):
print "Path is: {}".format(path)
return func(*args, **kwargs)
return wrapper
return decorator
@route('/index.php')
def index(a, b):
print 'Index page will be show!', a, ":",b
2017-03-23
#!/usr/bin/env python
# encoding: utf-8
x = 1
def foo():
x = 2
def innerfoo():
x = 3
print 'locals ', x
innerfoo()
print 'enclosing function locals ', x
foo()
print 'global ', x
运行结果:
locals 3
enclosing function locals 2
global 1
# encoding: utf-8
x = 1
def foo():
x = 2
def innerfoo():
x = 3
print 'locals ', x
innerfoo()
print 'enclosing function locals ', x
foo()
print 'global ', x
运行结果:
locals 3
enclosing function locals 2
global 1
2017-03-23
https://foofish.net/python-legb.html,学习返回函数,闭包,装饰器,必须先了解LEGB
2017-03-23
其实我觉得最重要的是返回函数的“”返回“”,定义一个函数,返回的还是一个函数,我们可以对主体函数进行赋值(不知道这样说对不对),也可以对返回的函数进行赋值(这个是最好玩的地方),在主函数返回函数的时候,其相关参数和变量都保存在了返回的函数中,等待被调用!,如果返回函数不被调用,那主体函数永远就只是fuction,不可能是输出
(看完这个视频,可以看看廖老师关于返回函数的那章,特别是最后关于闭包怎样使用循环的那个,对python中f和f()的区别都能够有很好的理解)
(看完这个视频,可以看看廖老师关于返回函数的那章,特别是最后关于闭包怎样使用循环的那个,对python中f和f()的区别都能够有很好的理解)
2017-03-22