这样写你看下:这是这种写法无法将x传到b里面去
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方法的参数值,这点可以理解下参数的作用域
我有一个初步理解,但不知道底层细节,python中函数名也是个变量,可以说你定义的所有名称都是变量,所有的变量你理解成一个指针,指向一个空间,传递名称则传递指针,给其他函数这个空间的开始.那么这个()呢,在py中有个call方法,你看不到,这个括号会执行call,call会运行解释你的代码.这样,一个函数才算是真正执行了.
如函数:
①.、不带括号时,调用的是这个函数本身
def cun (a,b):
return a+b
print(cun) : 调用函数,打印的是函数
你这里要是加了括号,那么返回的就是fucy函数的返回值.那么他的返回值是多少呢?函数没传,那肯定就会TypeError,说没有参数;那你加参数的话,那闭包还有撒用?
我觉得,加没加,就是是不是对象的区别
以上就是土嘎嘎小编为大家整理的函数时不带括python的简单介绍函数时不带括python的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!