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