当我在python中编写类时,大多数时候,我都渴望将我使用的变量设置为对象的属性.是否有任何关于哪些变量应该用作类/实例属性的规则或一般准则,哪些不应该?
例如:
class simple(object):
def __init(self):
a=2
b=3
return a*b
class simple(object):
def __init(self):
self.a=2
self.b=3
return a*b
Run Code Online (Sandbox Code Playgroud)
虽然我完全理解属性应该是对象的属性.当类声明很简单时,这很容易理解,但随着程序越来越长,并且有很多地方应该在各个模块之间进行数据交换,我对应该在哪里使用a/b或self.a感到困惑. /self.b.这有什么指导方针吗?
你在哪里使用self.a你正在创建一个属性,所以这可以从类外部访问,并持续超出该函数.这些应该用于存储有关对象的数据.
你使用a它的地方是一个局部变量,只在该函数的范围内持续存在,所以应该在你只在函数中使用它的地方使用(如本例所示).
注意这__init是误导性的,因为它看起来像__init__- 但不是构造函数.如果你打算将它们作为构造函数,那么返回一个值是没有意义的(因为新对象是返回的对象).
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |