python中调用函数为什么可以不加括号 5
deffucx(x):deffucy(y):#fucy对外部作用域fucx(但不是在全局作用域)的变量进行引用,#那么内部函数则会被认为是闭包#所以fucy是一个闭包pr...
def fucx(x):
def fucy(y):
# fucy对外部作用域fucx(但不是在全局作用域)的变量进行引用,
# 那么内部函数则会被认为是闭包
# 所以fucy是一个闭包
print(x*y)
return x*y
return fucy
i=fucx(8)
print(i)
print(type(i)) 展开
def fucy(y):
# fucy对外部作用域fucx(但不是在全局作用域)的变量进行引用,
# 那么内部函数则会被认为是闭包
# 所以fucy是一个闭包
print(x*y)
return x*y
return fucy
i=fucx(8)
print(i)
print(type(i)) 展开
3个回答
展开全部
你这里要是加了括号,那么返回的就是fucy函数的返回值。那么他的返回值是多少呢?函数没传,那肯定就会TypeError,说没有参数;那你加参数的话,那闭包还有撒用?
我觉得,加没加,就是是不是对象的区别
我觉得,加没加,就是是不是对象的区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这样是返回fucy的地址,你必须给fucy赋值才能运算在i=fucx(8)(3)后面给参数y赋值就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
并不是你说的调用函数,#装饰器# 语法,了解一下
追问
这个跟装饰器有关吗?没用过,求大神指导下
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询