我想知道以下两种选择中的哪一种更好,或者也许更适合Pythonic:
__init__
直接使用参数作为内部调用的函数的参数__init__
:
def class A(object):
def __init__(self, x):
self.x = x # I would like to do this anyway
self.y = foo(x)
# More code
使用__init__
作为参数副本的属性作为内部调用的函数的参数__init__
:
def class B(object):
def __init__(self, x):
self.x = x # I would like to do this anyway
self.y = foo(self.x)
# More code
A类和B类的行为应相同。然而:
第一种选择不太冗长,因为self.
避免了很多键入操作,并且代码更具可读性。
第二种选择可能对代码的进一步更改更为健壮。
A或B中哪个更好?还是没关系?
无关紧要。不必键入self
就很好,并且Python不必进行属性查找。
但是,如果self.x
是在设置或获取时以某种方式转换值的属性,则您别无选择,取决于是否需要使用原始值x
或转换后的self.x
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句