重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这样写你看下:这是这种写法无法将x传到b里面去
成都创新互联公司于2013年开始,先为靖边等服务建站,靖边等地企业,进行企业商务咨询服务。为靖边企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
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方法的参数值,这点可以理解下参数的作用域
最后一行是返回b函数的引用地址,这与return b()不同,return b()是返回b的调用后的结果,其实如果最后一行直接写return b()会报错(参数个数不正确),正常的应该是return b(5)等,但这样与return b有很大的局限性
python函数内b=b+1报错是因写错代码。在Python中,所有代码都是通过正确的空格排列的。无多出来空格或缺少空格,整个代码都不会运行,仅返回一个错误函数。Python代码遵循PEP8空白规范,每一级缩进使用4个空格,便不会报错。