我有这个问题。我不知道是否有任何捷径,但我会喜欢捷径。
说我有这个班级
class a(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return "<a(%s', '%s')>" % (self.x, self.y)
def b(self):
print('First Name:', self.x, '\nLast Name:', self.y)
user = a('Ade', 'Shola')
假设只有名字,
user = a('Ade')
我不能用一些'调整'来运行脚本吗?
答案 0 :(得分:5)
只需为最后一个参数设置一个空的默认值:
def __init__(self, x, y=None):
您需要在很多逻辑中检查y is None
。
答案 1 :(得分:1)
您也可以尝试这样设置您想要的任何字段的值...
>>> class a(object):
def __init__(self, x=None, y=None):
self.x = x
self.y = y
def __repr__(self):
return "[a(%s', '%s')]" % (self.x, self.y)
def b(self):
print('First Name:', self.x, '\nLast Name:', self.y)
>>> user=a('nsn')
>>> user
[a (nsn', 'None')[
>>> user=a(x='xyx')
>>> user
[a(xyx', 'None')]
>>> user=a(y='abc')
>>> user
[a(None', 'abc')]
>>>