因此,我试图学习如何正确地设置Python类的类属性,并想知道如何使用类函数来设置类属性。在
我的初学者方法教会了我:class MyClass:
"""MyClass class instance"""
def __init__(self, project, version, command):
self.project = project
self.__version = version
self.__command = command
"""Get version used"""
def getVersion(self):
return self.__version
"""Get command executed"""
def getCommand(self):
return self.__command
"""Set version used"""
def setVersion(self, version):
self.__version = version
这很好很简单,但这意味着当我实例化MyClass时,我已经知道了属性的值,因为我传递它们来创建我的对象,或者如果我不传递它们,我将在创建MyClass对象之后使用我的初学者方法setVersion(version)。在我的搜索中,我阅读了this,这使我了解了properties,并使我意识到我不应该在Python中使用getter/setter,而应该使用属性。这是对的吗?在
但是,我想知道使用函数设置一些MyClass实例属性(project、version、command)是否是Pythonic(甚至是正确的)。我之所以要这样做,是因为我希望这个类只通过传递1个参数来完成从特定文件中查找这些值的工作。我想到了这一点,但认为这可能是错误的:
^{pr2}$
它甚至是通过调用类函数来设置实例变量的逻辑方法吗?在
我是否应该在某些方面利用属性?在
我是否应该在MyClass之外创建一个函数来查找这些值,而不是返回一个MyClass实例?在
有没有更合适的Python法?在
我基本上想创建一个包含所有额外信息(版本、命令等)的对象,方法是用一个传递的属性实例化它。在
提前谢谢你!在