python 面对对象 类 补充

isinstance

isinstance():判断一个实例化对象是否属于这个类的,isinstance(对象,类)

python 复制代码
class Man():
    pass

class Women():
    pass

a = Man()

print(isinstance(a, Man))    # True
print(isinstance(a, Women))   # False

类的属性操作

  1. getattr() 获取已知实例的已知属性的属性值
  2. setattr() 给对象添加属性,有该属性就修改属性
  3. hasattr() 判断指定对象是否存在指定属性
  4. delattr() 删除指定对象的指定属性
python 复制代码
class People():
    name = '张三'
    

a = People()

print(getattr(a, 'name'))      # 张三

setattr(a, 'name', '李四')     # 修改属性
print(getattr(a, 'name'))      # 再次查看就是 李四

setattr(a, 'age', 18)          # 添加age属性 值为18
print(getattr(a, 'age'))       # 18  可以查看

print(hasattr(a, 'sex'))       # False  sex并未在实例化对象里面

delattr(a, 'name')             # 删除name属性
#print(getsttr(a, 'name'))     # 所以这里就会报错了
相关推荐
幸福清风24 分钟前
Python 完美处理Excel合并单元格:拆分填充+自动合并
python·excel·合并单元格·拆分单元格
云空30 分钟前
《Three.js 3D实例大全》
开发语言·javascript·3d·three.js
techdashen40 分钟前
Go 1.26 新增 `bytes.Buffer.Peek`:只看数据,不移动读取位置
开发语言·后端·golang
汤姆小白1 小时前
08-应用部署
人工智能·python·机器学习·numpy·transformer
C137的本贾尼1 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
从零开始的代码生活_2 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
hy.z_7772 小时前
【C语言】11. 深入理解指针1
c语言·开发语言
二炮手亮子2 小时前
记录AI学习之路Day13:小模型(AI生成)
学习
charlie1145141912 小时前
现代C++工程实践——WeakPtr 第二关:核心骨架与控制块
开发语言·c++
般若-波罗蜜2 小时前
MinerU高级用法,避坑指南(持续更新)
人工智能·python·语言模型·自然语言处理