1 【装饰器】
def func_arg(arg):
def func(functionName):
def func_in():
print("---记录日志-arg=%s--"%arg)
if arg=="heihei":
functionName()
else:
return func_in
return func
#1. 先执行func_arg("heihei")函数,这个函数return 的结果是func这个函数的引用
#2. @func
#3. 使用@func对test进行装饰
@func_arg("heihei")
def test():
print("--test--")
#带有参数的装饰器,能够起到在运行时,有不同的功能
@func_arg("haha")
def test2():
print("--test2--")
test()
test2()
------------------------------------------------------------------------------------------------------------------------------------------------------------------
def func(functionName):
def func_in(*args, **kwargs):
print("-----记录日志-----")
ret = functionName(*args, **kwargs)
return ret
return func_in
@func
def test():
print("----test----")
return "haha"
@func
def test2():
print("----test2---")
@func
def test3(a):
print("-----test3--a=%d--"%a)
ret = test()
print("test return value is %s"%ret)
a = test2()
print("test2 return value is %s"%a)
test3(11)
2 【作用域】
globels查看全局
locals 查看局部
LEGB规则
3【python是动态语言】
动态增加属性方法
object.addNewPro
class.addNewPro
object.test = types.MethodType.(test,object)
object.test()
@statucmethod
@classmethod
class.test = test
class.test()
4【__ slots__】
__slots__ = (xxx,xxx)
保证不在新添加属性
5【生成器】
(x for x in range(10)):
yeild
send/next
2018-01-25
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今晚共读第三章 真爱——永恒不息的心跳 《不是养花,是养小孩》有感: 文章中爸爸正在教自己七岁的儿子如何使用割草机...
- 看了任总(任志强)关于阅读的感悟,感到他是一个敢讲真话,敢作敢当的人,特别是作为一名企业家,他没有故步自封,喜欢读...
- 今天我很晚才和姑娘学习,因为小姑娘感冒了,所以才和大姑娘学习晚了,自从有了小姑娘就对大姑娘的经历就没那么大了,所以...