python 面向对象之路 方法和函数 反射
2021-07-10 09:04
标签:打印 instance 形式 style delattr rom import bsp def 一. isinstance(检查第一个参数是否是第二个参数的 子子孙孙类) issubclass(检查的一个参数(对象) 是否是第二个参数(类及父类)的实例) type(获取当前对象是由那个类创建.) 二.方法和函数 称谓: 类. 就是方法 外面的, 就是函数 对象.dag 就是方法 类.aaa 就是函数 xxx 也是函数 打印查看: function method 三.反射 总结: v = getattr(obj,‘func‘) 根据字符串为参数(第二个参数),去对象(第一个参数)中寻找与之同名的成员。 拓展:见过的啥后面加() ? 类() 对象() 函数() 方法() 以上都可以被调用 示例 python 面向对象之路 方法和函数 反射 标签:打印 instance 形式 style delattr rom import bsp def 原文地址:https://www.cnblogs.com/SUIFAN/p/9562470.html
class Base(object):
pass
class Foo(Base):
pass
obj1 = Foo()
print(isinstance(obj1,Foo))
print(isinstance(obj1,Base))class Base(object):
pass
class Foo(Base):
pass
class Bar(Foo):
pass
print(issubclass(Bar, Base))
class Foo(object):
pass
obj = Foo()
print(obj,type(obj)) # 获取当前对象是由那个类创建。
if type(obj) == Foo:
print(‘obj是Foo类型‘)
from types import MethodType,FunctionType
def check(arg):
if isinstance(arg,MethodType):
print(‘arg是方法‘)
elif isinstance(arg,FunctionType): #检查arg是方法还是函数
print(‘arg是个函数‘)
else:
print(‘不知道是什么‘)
getattr # 根据字符串的形式,去对象中找成员。
hasattr # 根据字符串的形式,去判断对象中是否有成员。
setattr # 根据字符串的形式,动态的设置一个成员(内存)
delattr # 根据字符串的形式,动态的删除一个成员(内存)def func():
pass
class Foo(object):
def __call__(self, *args, **kwargs):
pass
def func(self):
pass
obj = Foo()
print(callable(func))
print(callable(Foo))
print(callable(obj))
print(callable(obj.func))
上一篇:python3报编码错误
下一篇:C++ C++