墨墨在努力吖
发表于 2022-10-14 15:23:46
滴滴滴~打卡{:10_298:}
七钱五
发表于 2022-10-16 16:47:58
测试函数不能带参数,不然会报错,这是为什么呢?比如只能funA(),而不能是funA(x){:10_269:}
CDra
发表于 2022-10-21 14:31:01
8245k 发表于 2022-8-1 23:41
第三个知识点让我好奇,这个语法糖是否可以不断向内挖掘嵌套函数,直到挖到最底层函数,然后将这个最底层 ...
不会把,装饰器只会将函数作为参数传一次,你一直往下嵌套直到最底层,是因为你返回函数的时候加了()
lymbwx
发表于 2022-10-25 10:37:03
语法糖很赞啊
lymbwx
发表于 2022-10-25 10:41:25
装饰器相对于语法糖,但是看起来更简洁直接
migu_sm1
发表于 2022-11-7 18:43:35
Learning...
Loafer0
发表于 2022-11-25 20:51:50
七钱五 发表于 2022-10-16 16:47
测试函数不能带参数,不然会报错,这是为什么呢?比如只能funA(),而不能是funA(x)
我也遇到了同样的问题,想知道后面怎么解决了?{:10_285:}
呱呱呱i
发表于 2022-12-30 22:32:16
{:10_266:}
andyleesh
发表于 2023-1-2 13:52:09
打卡
同舟
发表于 2023-1-4 09:39:23
def call_func():
start = time.time()
func()
stop = time.time()
这段中的func()搞不懂是什么意思。
上下面都见到def func()
1838569480
发表于 2023-1-15 21:11:40
无言之梦 发表于 2022-9-1 15:45
装饰器第一部分的闭包过程中不打 return call_func为什么报错
应该是使用return才会执行call_func中的内容。当然不使用return可以直接用call_func()代替。
个人理解。不知道对不对
徐琅琊
发表于 2023-1-31 21:18:35
不使用装饰器的话,funA和msg可以同时传入外层函数,可以少嵌套一层
小甲鱼
发表于 2023-3-25 03:49:03
七钱五 发表于 2022-10-16 16:47
测试函数不能带参数,不然会报错,这是为什么呢?比如只能funA(),而不能是funA(x)
可以带参数,参数要放在内部的嵌套函数中传递哦~
def dec(func):
def call_func(x, y):
print(f"装饰器来过,x = {x}, y = {y}")
return call_func
@dec
def test(x, y):
pass
test(3, 4)
小甲鱼
发表于 2023-3-25 03:49:56
Loafer0 发表于 2022-11-25 20:51
我也遇到了同样的问题,想知道后面怎么解决了?
可以带参数,详见 #28 楼回复~
Axiujiu
发表于 2023-3-26 20:51:57
import time
def time_master(): #将func拿到内层#
def call_func(func): #这么写为什么会报错,不懂,求解#
print("开始运行程序...")
start = time.time()
func()
stop = time.time()
print("结束程序运行...")
print(f"一共耗费了 {(stop-start):.2f} 秒。")
return call_func
def myfunc():
time.sleep(2)
print("I love FishC.")
myfunc = time_master(myfunc)
myfunc()
FengHL
发表于 2023-4-14 23:08:40
看不出哪里有问题,报错了import time
def time_master(func):
def call_func():
print("程序开始运行...")
start = time.time()
func()
stop = time.time()
print("程序运行结束...")
print(f"一共运行了{(stop - start).2f}秒。")
return call_func
@time_master
def myfunc():
time.sleep
print("Hello,FishC!")
myfunc()
FengHL
发表于 2023-4-16 10:50:43
同舟 发表于 2023-1-4 09:39
这段中的func()搞不懂是什么意思。
上下面都见到def func()
定义中def time_master(func):里面有,相当于形参吧,下面定义中的myfunc相当于实参,个人理解。
xingnanhai
发表于 2023-4-20 09:44:44
import time ,random
def time_master(fun):
def cu():
print("程序开始")
start = time.time()
fun()
print("程序结束")
end = time.time()
print("程序共运行了%.2f秒"%(end-start))
return cu
@time
KeyboardInterrupt
@time_master()
def test():
time.sleep(random.randrange(1,5))
print("welcome to FishC.com")
从哪开始学啊
发表于 2023-9-12 16:28:28
FengHL 发表于 2023-4-14 23:08
看不出哪里有问题,报错了
格式化字符串里面没加冒号
重新学习
发表于 2023-9-22 15:49:35
多层可以理解成递归里面不断向下调用