我是新手,我发现很难掌握python中类的语法。我有C/C++、java和Objor C的背景。我在Python中注意到的一个很大的区别是,你没有明确地声明类中的“数据成员”,而只是随机添加它们。这导致了相当大的混乱。在
假设我有课
class MyClass:
def __int__(self, a, b):
self.a = a
self.b = b
当我启动物体时。在
^{pr2}$由于某种原因,过了一段时间,我才知道我需要这个类中的另一个参数,但我不想用构造函数来初始化它,因为它将由另一个函数根据某个特定的条件来初始化,所以在整个混乱的代码中,这将是变量真正诞生的唯一点。当我在调试或由于其他原因检查代码时,不是会让人困惑吗?在
你真的应该在你的文本中使用一些:p
你的意思是:
有些人喜欢列出
__init__
中的所有属性。你不必这样做,但有很多理由可以让你选择。也许它可以提高你的编辑理解突出显示或完成代码的能力。
也许这只是你喜欢的一种风格。在
简而言之,是的。在
你说得对。Python允许您添加(和删除!)来自对象的成员可以随时随意访问。构造函数没有什么特别之处,它可以做其他函数不能做的事情
如果你想确保你的类的所有实例在任何时候都有相同的成员,那么一定要在构造函数中分配它们,对那些还没有意义的成员使用一个像
None
这样的前哨值,并避免在构造函数之外添加新成员。在如何操作对象取决于你自己,如果你想以静态的方式操作,那就好了,或者如果你想利用在任意时间添加和删除成员的能力,那也没问题。Python本身并不强制(m)任何规则。在
相关问题 更多 >
编程相关推荐