凉城旧巷
Python从入门到自闭,Java从自闭到放弃,数据库从删库到跑路,Linux从rm -rf到完犊子!!!
posts - 315,comments - 20,views - 38万

isinstance与issubclass、反射、内置方法

一、isinstance与issubclass方法

1、isinstance是用来判断对象是否是某个类

  isinstance(obj,class)

2、issubclass是用来判断一个类是否为另一个类的子类

  issubclass(Bar,Foo)

复制代码
 1 class Foo:
 2     pass
 3 
 4 
 5 class Bar(Foo):
 6     pass
 7 
 8 
 9 obj = Foo()
10 print(isinstance(obj, Foo))      # True
11 
12 print(issubclass(Bar, Foo))      # True
isinstance与issubclass
复制代码

二、反射

1、什么是反射

通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)

2、四个反射函数

name必须用字符串表示

hasattr(object,name)   # 判断object中有没有一个name字符串对应的方法或属性

setattr(object,name, value)         # 设置object对象的name属性的值问value

getattr(object,name,None)         # 获取object对象的name属性的值,若没有那么属性,则返回None

delattr(object,name)            # 删除object对象的name属性
复制代码
 1 class Foo:
 2     pass
 3 
 4 
 5 obj = Foo()
 6 setattr(obj, 'name', 'tom')
 7 setattr(obj, 'age', 19)
 8 print(obj.__dict__)     # {'name': 'tom', 'age': 19}
 9 
10 print(hasattr(obj, 'name'))         # True
11 
12 print(getattr(obj, 'name'))      # tom
13 print(getattr(obj, 'name1', None))        #None
14 
15 delattr(obj,'name')  
16 print(obj.__dict__)         # {'age': 19}
View Code
复制代码

三、内置方法

http://www.cnblogs.com/linhaifeng/articles/6204014.html#_label3

posted on   凉城旧巷  阅读(128)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示