Python初始化和对象
我遇到了一些问题。我不知道有没有什么快捷方式,但我希望能有一个。
假设我有这样一个类
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')
我难道不能通过一些“调整”来运行这个脚本吗?
2 个回答
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')]
>>>
5
只需为最后一个参数设置一个空值作为默认值:
def __init__(self, x, y=None):
在很多逻辑中,你需要检查一下 y 是否为 None
。