这样写你看下:这是这种写法无法将x传到b里面去
10年积累的网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有浪卡子免费网站建设让你可以放心的选择与我们合作。
def b(y):
return x+y
def a(x):
return b
其实你调用a--打印的是a的内存地址,a(x)就是调用的a方法,返回的是b相当于你直接打印b的内存地址一样,
所以
a--函数a的内存地址
a(x) --调用a方法,返回b函数对象相当于--b
a(x)(y)--b(y)调用b方法返回x和y的值,这里x取的是a方法的参数值,y是b方法的参数值,这点可以理解下参数的作用域
第一处函数fu2无参数,如果不带括号返回的是这个函数的属性,需要带括号才会返回参数
第二处下面用法是a=f1(5)(8),根据函数定义已经给函数f2()传导参数,所以return时不需要再用()传导参数
你这里要是加了括号,那么返回的就是fucy函数的返回值。那么他的返回值是多少呢?函数没传,那肯定就会TypeError,说没有参数;那你加参数的话,那闭包还有撒用?
我觉得,加没加,就是是不是对象的区别