首页 > 解决方案 > 如果我有两个相同类的对象,并且我使用 pyhton 的 setattr 方法在一个对象中设置值,那么另一个对象会发生什么

问题描述

我对类的理解是你的对象应该具有相同的属性所以我对此感到困惑我的第二个对象将如何表现这是我理解面向对象编程的代码

class Emmploy:
    ecount = 0
    
    def __init__(self,name,age):
        self.name = name
        self.age = age
        Emmploy.ecount = Emmploy.ecount+1
        
    def disemploy(self):
        print("name of employ:",self.name,"age of employ:",self.age)
    def empcount():
        print("total employs are:",Emmploy.ecount)


emp1 = Emmploy("zahid",35)
emp2 = Emmploy("hassan",34)
emp1.disemploy()
emp2.disemploy()
Emmploy.empcount()
val = str(hasattr(emp1,'salary'))
print(val)   
val = str(setattr(emp1,'salary',3500))
print(val)
print(emp1.salary)
print(emp2.salary)`

标签: pythonoop

解决方案


两个不同的对象可以具有完全不同的值作为它们的属性,因为它们是两个不同的事物

所以,

emp1 可以有 3500 的薪水和像 Joe 这样的名字

然而,

emp2 可以有 4000 的薪水和像 Doe 这样的名字

希望这提供了一些清晰度


推荐阅读