搞不懂python第40讲扩展的修饰符
这个修饰符弄得头昏脑涨,卡了好几天,在网上也找了很多博客看,也是一知半解,看不太明白这个是课后题5的代码A
class CodeA:
def foo():
print("调用静态方法 foo()")
# 将 foo() 方法设置为静态方法
foo = staticmethod(foo)
答案是:
class CodeA:
@staticmethod#这里的缩进为什么和下面不一样,要两个缩进
def foo():
print("调用静态方法 foo()")
然后用修饰符简化代码的操作我也不太懂,有没有大神帮忙解释一下{:9_221:} 本帖最后由 凌九霄 于 2019-4-8 17:39 编辑
你写错了,应该是这样
class CodeA:
@staticmethod
def foo():
print("调用静态方法 foo()")
这个语法糖的实质就是执行的foo = staticmethod(foo) 凌九霄 发表于 2019-4-8 17:27
你写错了,应该是这样
正常缩进就可以了是么,答案是给错了么? pandarking 发表于 2019-4-8 17:44
正常缩进就可以了是么,答案是给错了么?
答案如果那么写肯定是错了 凌九霄 发表于 2019-4-8 17:27
你写错了,应该是这样
大神你帮我看下这段代码的返回顺序是什么啊,谢谢 本帖最后由 凌九霄 于 2019-4-8 18:23 编辑
你去了解一下python的闭包就清楚了,理解了闭包,你就能理解前面的语法糖,装饰器之类的概念。
装饰器可有多个,执行的顺序就是从最后一个装饰器开始,执行到第一个装饰器,再执行被装饰函数本身。 凌九霄 发表于 2019-4-8 18:14
你去了解一下python的闭包就清楚了,理解了闭包,你就能理解前面的语法糖,装饰器之类的概念。
装饰器可 ...
闭包理解,零基础开始学的,刚碰到装饰符这个概念有点懵,感谢解答
页:
[1]