如何解决Python类中的类属性的自我与回报
假设我有一个list形式的class属性,并且该类中有两个函数将数据追加到列表上,以便对该列表进行进一步的操作。
这是写相同内容的正确方法吗?
class Sample:
def __init__(self):
self.Mylist = []
self.customfunc1()
self.customfunc2()
self.customfunc3()
def customfunc1(self):
somevar = 1
self.Mylist.append(somevar)
def customfunc2(self):
somevar = 2
self.Mylist.append(somevar)
def customFunc3(self):
## Operations on self.Mylist
或者我是否需要在每个子函数之后返回一个值。我是使用“自我”参考的新手,所以对您的帮助表示赞赏。
解决方法
这完全取决于意图。例如,当您查看标准库(list.append
)时,约定是当方法改变其参数时,它不返回任何内容(即,它隐式返回None
)。这样做的目的是使数据更改确实很明显。
另一方面,如果数据没有变化,但是您创建了一个新实例,那么,您实际上没有其他选择可以返回新实例。
以您为例,由于有点虚假,所以很难说,但由于MyList
是该类的内部实现细节,因此我绝对不会返回(或返回值)。
PS:在您的示例中,只有“实例变量”,而没有“类属性”,因为必须将字段声明为上面的一个范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。