厦门网站建设设计公司哪家好,公司介绍网站源码,公司网站设计与开发,上海外贸出口代理公司目录
callable
super
type#xff08;#xff09;获取对应类型
isinstance判断对象是否是某个类或者子类的实例
issubclass#xff0c;判断对象是不是类的子孙类
python3的异常处理 反射#xff1a; 心经第三节和第五节都写了些面向对象的#xff0c;这一节补充一…目录
callable
super
type获取对应类型
isinstance判断对象是否是某个类或者子类的实例
issubclass判断对象是不是类的子孙类
python3的异常处理 反射 心经第三节和第五节都写了些面向对象的这一节补充一些内置函数可以用在类上的
这两节提到的充当装饰器的propertystaticmethodclassmethod就不提了
callable
判断后面能不能加括号执行函数类对象
print(callable(Class)) super
按照类的mro的继承关系去往上找成员
mro继承关系在第五讲又说道mro函数内部就是用了c3算法去找的继承关系那一节也总结了python找继承关系的口令可以去看看
class Base(object):def msg(self,num):print(Base.msg,num)class Device(Base):def msg(self,num):print(Device.msg,num)super().msg(num50)dsDevice()
ds.msg(10)
type获取对应类型
isinstance判断对象是否是某个类或者子类的实例 issubclass判断对象是不是类的子孙类
python3的异常处理
try:pass#可能会抛异常的代码
except Exception as e:#真的抛异常了捕获异常后处理异常的代码pass
finally:#不管try是否出问题不管except是否里面捕获了有没有处理这块代码都会执行#相当于最后的堡垒pass
finally不管try是否返回returnfinally都会执行如果try里面return了结果那么显示的话就会先把finally里面的显示出来再去return。。 自定义异常可以通过raise 自己的异常类 反射
python里面用getattrsetattr hasattrdelattr支持反射
就是用这四种方法去替换对象.成员的写法
getattr 去对象中获取成员
vgetattr(对象,成员名称)
vgetattr(对象,成员名称,不存在时的默认值)
setattr 去对象中设置成员
setattr(对象成员名称,值)
hasattr 对象中是否包含成员
vhasattr(对象,成员名称)
delattr 删除对象成员
delattr(对象,成员名称)
相当于 del 对象.成员 import_module和反射去导入模块
import randomfrom importlib import import_modulemimport_module(random)
后面用m.xxx就行