发布于2019-08-06 09:59 阅读(424) 评论(0) 点赞(0) 收藏(0)
函数里面定义函数 (函数里面可以定义类)
def foo():
def bar(): #3
print('in bar()') #4
print('in foo()') #1
bar() #2
foo()
#结果
in foo()
in bar()
为什么要在函数里面定义函数呢?有啥特别之处?
函数里面函数的有效范围是在foo()函数里面的,
其实定义在里面的函数,在外面还是有办法访问的,可以吧函数变量弄到外面去,通过返回值
def foo():
def bar():
print('in bar()')
print('in foo()')
return bar #这里的bar对应的是bar()这个函数的变量,是没有括号的
#foo()() #也可以把下面两行注释掉,直接foo()(),因为foo()返回的是bar,
inner = foo() #foo的返回值赋值给一个变量,inner对应的是一个函数对象
inner() #inner()和bar(),是同一样的函数
定义类的静态方法时,就使用了装饰器
@staticmethod #静态方法不需要self,实例方法要self。因为他不需要访问不同的实例的属性。 #静态方法不能访问实例属性,但是可以访问静态属性
def jump():
print("3 meters high")
装饰器的特点是用一个@开头的字符串
在我们阅读别人的代码时,会经常碰到装饰器
装饰器通常用来装饰函数
装饰器主要用来给函数增加一点功能
一般装饰器本身也是一个函数
我们可以想象成它包含了被装饰的
作者:没事就吃溜溜梅
链接:https://www.pythonheidong.com/blog/article/7359/4de34c2282b14edcd6f8/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!