Python:如何继承和显示在class中定义的id,而不是必须在对象中定义它
Python: How to inherit and display the id defined in the class, rather than have to define it in the object
我有以下 Python 来自 www.testandtrack.io 问题的代码:
class Sales:
def __init__(self,id):
self.id=id
id=321
val=Sales(123)
print(val.id)
这里的输出是:
123
我希望能够显示对象 id 的值,但它是 class 中最初定义的值,例如在本例中为“321”。我还想了解如何在需要时覆盖(如图所示),但在需要时保留 class 默认属性。
我试过在实例化时将其留空,但需要一个位置参数。
val=Sales()
我也试过从 'constructor' 函数中删除 id ,如下所示,但这也不起作用:
def __init__(self):
有人能给我指出正确的方向并给出解释吗?默认情况下,我希望每个对象都继承 class 的 id(或任何指定的属性),而不必在创建时显式定义值。当需要时,对于某些属性,我想为对象提供新值,尽管该值是在 class 中定义的。 (覆盖)
class Sales:
def __init__(self,id):
self.id=id
self.id=321
val=Sales(123)
print(val.id)
输出将是 321
要编辑 Sales 的 id,您必须将 self.前。
Python 对此很严格
考虑到 321
是默认值,如果没有传递 id,你应该这样做
class Sales:
def __init__(self, id=321):
self.id=id
val = Sales(123)
print(val.id)
val2 = Sales()
print(val2.id)
好的,我没听懂问题,抱歉。
这里有一个方法可以做你想做的事:
class Sales:
def __init__(self):
pass
def set_id(self,id):
self.id=id
val=Sales()
val.set_id(100)
print(val.id)
答案将是 100
class Sales:
def __init__(self):
pass
def set_id(self,id):
self.id=id
val=Sales()
val.set_id(100)
val.set_id(200)
print(val.id)
对于这一个,它将是 200
我有以下 Python 来自 www.testandtrack.io 问题的代码:
class Sales:
def __init__(self,id):
self.id=id
id=321
val=Sales(123)
print(val.id)
这里的输出是: 123
我希望能够显示对象 id 的值,但它是 class 中最初定义的值,例如在本例中为“321”。我还想了解如何在需要时覆盖(如图所示),但在需要时保留 class 默认属性。
我试过在实例化时将其留空,但需要一个位置参数。
val=Sales()
我也试过从 'constructor' 函数中删除 id ,如下所示,但这也不起作用:
def __init__(self):
有人能给我指出正确的方向并给出解释吗?默认情况下,我希望每个对象都继承 class 的 id(或任何指定的属性),而不必在创建时显式定义值。当需要时,对于某些属性,我想为对象提供新值,尽管该值是在 class 中定义的。 (覆盖)
class Sales:
def __init__(self,id):
self.id=id
self.id=321
val=Sales(123)
print(val.id)
输出将是 321
要编辑 Sales 的 id,您必须将 self.前。 Python 对此很严格
考虑到 321
是默认值,如果没有传递 id,你应该这样做
class Sales:
def __init__(self, id=321):
self.id=id
val = Sales(123)
print(val.id)
val2 = Sales()
print(val2.id)
好的,我没听懂问题,抱歉。
这里有一个方法可以做你想做的事:
class Sales:
def __init__(self):
pass
def set_id(self,id):
self.id=id
val=Sales()
val.set_id(100)
print(val.id)
答案将是 100
class Sales:
def __init__(self):
pass
def set_id(self,id):
self.id=id
val=Sales()
val.set_id(100)
val.set_id(200)
print(val.id)
对于这一个,它将是 200