Python如果一个父类已经实例化了,现在想新建一个子类,给父类的这一个实例添加两个属性,如何实现?
#ForexampleclassPeople:def__init__(self,name,age):self.name=nameself.age=age#现在有了一个实例...
#For example
class People:
def __init__(self, name, age):
self.name = name
self.age = age
#现在有了一个实例
tom = People("Tom", 22)
我想实现一个类 class Worker, 添加一个 salary 属性,但生成这一 worker类的时候只能调用tom 这一对象,同时我也不想把tom的属性一个一个的读出来在加到Worker类的属性中
肿么办? 展开
class People:
def __init__(self, name, age):
self.name = name
self.age = age
#现在有了一个实例
tom = People("Tom", 22)
我想实现一个类 class Worker, 添加一个 salary 属性,但生成这一 worker类的时候只能调用tom 这一对象,同时我也不想把tom的属性一个一个的读出来在加到Worker类的属性中
肿么办? 展开
2个回答
展开全部
class People(object):
def __init__(self, name, age):
self.name = name
self.age = age
class worker(People):
def __init__(self,name,age,salary):
super(worker,self).__init__(name,age)
self.salary = salary
tom = People("Tom", 22)
print type(tom).__name__
#not a safe way, but no new object
tom.__class__=worker
print type(tom).__name__
tom.salary = 250
print tom.salary
#safe way, but create a new object
workerTom = worker("Tom", 22, 200)
tom.__dict__ = workerTom.__dict__
print type(tom).__name__
print tom.salary
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询