![](/img/trans.png)
[英]Classes vs Function: Do I need to use 'self' keyword if using a class in Python?
[英]Self vs return in Python Classes for Class Attribute
假设我有一个列表形式的类属性,以及该类中的两个函数,它们将数据附加到列表中以便对列表进行进一步操作。
这是否是编写相同内容的正确方法:
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:在你的例子中,只有“实例变量”,而不是“类属性[s]”——因为这些字段必须在上面的一个范围内声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.