喜欢小翘臀
发表于 2016-10-13 22:18:59
说实话,没怎么看懂,我现在学到40课了,我再学几课在回头看看吧
代12345
发表于 2016-10-24 22:26:42
修饰符 我可不可以认为就是函数的调用呢{:9_218:}
lynnpaul
发表于 2016-11-2 14:52:21
第三个内置修饰符,看不懂,代码复制下来,运行一遍还报错了。
AttributeError: type object 'Hello' has no attribute 'print_hello'
linxi2011hr
发表于 2016-11-9 15:45:52
非常不错!
jackie-L
发表于 2016-11-13 15:54:26
我看了原版的文章我看懂了,看你这个版本的云里雾里不知所云
gaogaogao
发表于 2016-11-21 12:49:49
版本升级了,感觉有点
看不懂
蛋炒饭妖妖
发表于 2016-11-22 15:23:04
没看懂。。
房间里的大象
发表于 2016-11-29 15:12:10
完全看不懂,写了什么东西。。
xinshouxuexi
发表于 2016-12-1 18:03:08
什么鬼,最后三个一带而过?
一帧相思
发表于 2016-12-5 21:46:14
看不懂
aluominhai
发表于 2016-12-9 12:56:53
这样不是更加简洁吗?
import time
def timeslong():
start = time.clock()
print("It's time starting ! ")
def f():
print("It's time ending ! ")
end = time.clock()
return "It's used : %s ." % (end - start)
return f()
print(timeslong())
aluominhai
发表于 2016-12-9 13:33:34
还有,这样也行!!把 @timeslong 去掉 ,末尾加f = timeslong(f)() ,,注意:末尾是:print(f)
import time
def timeslong(func):
def call():
start = time.clock()
print("It's time starting ! ")
func()
print("It's time ending ! ")
end = time.clock()
return "It's used : %s ." % (end - start)
return call
def f():
y = 0
for i in range(10):
y = y + i + 1
print(y)
return y
f = timeslong(f)()
print(f)
aluominhai
发表于 2016-12-9 13:39:00
aluominhai 发表于 2016-12-9 13:33
还有,这样也行!!把 @timeslong 去掉 ,末尾加f = timeslong(f)() ,,注意:末尾是:print(f)
import ...
由此可见,@timeslong 这个修饰符估计是用来替代 f = timeslong(f)() ,,如果有3层嵌套,比如:
def timeslong(func):
def call():
def add():
那么,@timeslong就是替代f = timeslong(f)()(),,,,假如是4层,就f = timeslong(f)()()()...。是不是这样理解嘛{:10_282:}{:10_266:}
zua
发表于 2016-12-10 00:16:36
看懂是看懂了
但除了代码简洁了一点外还有什么大用处呢》
抖煤袋
发表于 2016-12-22 21:16:30
哈哈哈哈哈哈哈哈啊哈哈哈哈
supercyt
发表于 2016-12-30 15:45:02
import time
def func():
y = 0
for i in range(10):
y = y + i + 1
print(y)
return y
def timeslong(func):
start = time.clock()
print("It's time starting ! ")
func()
print("It's time ending ! ")
end = time.clock()
return "It's used : %s ." % (end - start)
这不就行了? 为什么会要内嵌函数?
Kiopler
发表于 2017-1-26 00:22:31
import time
def timeslong(func):
def call():
start = time.clock()
print("It's time starting ! ")
func()
print("It's time ending ! ")
end = time.clock()
return "It's used : %s ." % (end - start)
return call
@timeslong
def f():
y = 0
for i in range(10):
y = y + i + 1
print(y)
return y
print(f())
结合了外面看的资料和这里的东西,那个func应该是指的是f()函数吧?那个timeslong是一个装饰器,相当于把f()函数当做一个变量传入到了timeslong里面去了? 然后在里面调用了func()函数即f()....
{:10_257:}
晕乎乎
什么鬼…
发表于 2017-1-26 18:47:04
好不容易看懂了,但是并不明白有什么用{:10_285:}
tttb
发表于 2017-2-1 10:54:41
#!/usr/bin/env python
# coding=utf-8
__metaclass__ = type
class StaticMethod:
@staticmethod
def foo():
print "This is static method foo()."
class ClassMethod:
@classmethod
def bar(cls):
print "This is class method bar()."
print "bar() is part of class:", cls.__name__
if __name__ == "__main__":
static_foo = StaticMethod() #实例化
static_foo.foo() #实例调用静态方法
StaticMethod.foo() #通过类来调用静态方法
print "********"
class_bar = ClassMethod()
class_bar.bar()
ClassMethod.bar()
tttb
发表于 2017-2-1 10:56:00
tttb 发表于 2017-2-1 10:54
说白了就是静态方法和类方法不用实例化就可以调用 不知道为啥起这么多名字
页:
1
2
[3]
4
5
6
7
8
9
10
11
12