python - 如果我有两个相同类的对象,并且我使用 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)`
解决方案
两个不同的对象可以具有完全不同的值作为它们的属性,因为它们是两个不同的事物
所以,
emp1 可以有 3500 的薪水和像 Joe 这样的名字
然而,
emp2 可以有 4000 的薪水和像 Doe 这样的名字
希望这提供了一些清晰度
推荐阅读
- micropython - Micropython,在没有文件系统的情况下存储二进制文件
- xcode - Xcode 的编辑摘要格式功能的文档在哪里?
- sql - 合并两个具有不同连接条件的查询
- javascript - 为什么会导致 .map 记录到控制台而不是实际视图
- grammar - 使语法 ll(1) 明确
- python - 加快从 Python 文件中读取图像的速度
- titanium - 标签内容不可见
- reactjs - 如何使 Firebase 存储仅对我网站的用户可用
- c# - DI。将接口添加到 AuthController 构造函数后未命中登录操作
- java - 无法初始化类 weblogic.utils.LocatorUtilities$Locator