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'))     # 所以这里就会报错了
相关推荐
不正经学生10 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技10 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
M78佐菲12 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
恋恋西风13 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx13 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_13 小时前
C++(22)——类型转换和IO流
开发语言·c++
yi.Ist13 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
小范同学_14 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu14 小时前
CSharp: 万年历
开发语言·后端·c#·.net
傲笑风14 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino