python在一个类的方法中,定义变量self.a和a有什么区别呢?谢谢
python和c++这些高级语言有一个区别在于类中的方法没有隐式的namespace
,所以a就是一个局部变量,而self.a,如果出现在__init__方法中一般就是用于绑定实例属性,在其他非特殊方法中一般只做引用或重绑定(不建议绑定)。当然self.a也可以是类属性或者方法,具体情况具体分析。
2 回答4.3k 阅读✓ 已解决
2 回答867 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答868 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
4 回答2.6k 阅读
3 回答912 阅读✓ 已解决
定义self.a变量会绑定在对象,函数调用后,不会被销毁;
定义a只是局部变量,函数调用完后会被销毁。