def a():
return 'a'
def b():
b.t1=a
return 'b'
def c():
a.t2=b
b()
print b.t1()
c()
print a.t2()
这是怎么回事啊
方法名+.+变量名 这东西指的是什么
为什么b.t1可以在方法外部访问
为什么方法c可以创建一个叫a.t2的东西
def a():
return 'a'
def b():
b.t1=a
return 'b'
def c():
a.t2=b
b()
print b.t1()
c()
print a.t2()
这是怎么回事啊
方法名+.+变量名 这东西指的是什么
为什么b.t1可以在方法外部访问
为什么方法c可以创建一个叫a.t2的东西
Python 中函数也是对象, 可以为它添加属性.
def a(): pass
a.name = 'Bob'
print(a.name)
你这个应该是看教程上面的例子吧.
python中, 函数也是对象, 对象的属性可以在运行时动态添加. 属性放在 __dict__
, 你可以用 print(a.__dict__)
查看它的属性.
这个例子中函数还相互引用, 形成了循环引用了. 在编程中强烈不推荐这么做.
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
回答你的问题:
方法名+.+变量名 这东西指的是什么 就是变量,你可以给函数添加属性,zhenguoli已经回答了
为什么b.t1可以在方法外部访问 这里有一篇文章https://www.zhihu.com/questio...
为什么方法c可以创建一个叫a.t2的东西 a.t2=b 是把b这个对象赋值给a.t2,所以后来你print b.t1()其实就等于print a()即执行了a这个函数,此时返回a,即输出a,下面的类似