常用函数
作用:检测一个类是否是另一个类的子类,格式:issubclass(子类,父类),返回值:布尔值。
1 2 3 4 5 6 7
| class Father(object): pass class Son(Father): pass result = issubclass(Son,object) print(result) 注意事项:只要存在于继承关系中 就成立
|
作用:检测一个对象是否是指定类的实例,格式:isinstance(对象,类),返回值:布尔值。
1 2 3 4 5 6 7
| class Monkey: pass class Human: pass ren = Human() result = isinstance(ren,(Monkey,Human)) print(result)
|
作用:检测类/对象是否包含指定名称的成员,格式:hasattr(对象,成员名称),返回值:布尔值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Human: age = 1 sex = 'man' def cry(self): print('555555')
result = hasattr(Human,'smile') print(result)
ren = Human() result = hasattr(ren,'age') print(result)
|
作用:获取类.对象的成员值,格式:getattr(对象,成员名称,默认值),返回值:不确定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Monkey: age = 10 sex = '雄' color = 'golden' def say(self): print('叽叽叽叽~')
houzi = Monkey()
result = getattr(houzi,'name','小猴子~') print(result)
|
作用:设置类/对象的成员值, 格式:setattr(对象,成员名称,设置的值),返回值:无。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Monkey: age = 10 sex = '雄' color = 'golden' def say(self): print('叽叽叽叽~')
houzi = Monkey() print(houzi.__dict__)
setattr(houzi,'weight','100斤') print(houzi.__dict__)
|
作用:删除类.对象的成员,格式:delattr(对象,成员名称),返回值:无。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| class Monkey: age = 10 sex = '雄' color = 'golden'
def __init__(self): self.name = 'xwk' self.height = 100
def say(self): print('叽叽叽叽~')
houzi = Monkey() print(houzi.__dict__)
delattr(houzi,'height') print(houzi.__dict__)
|
作用:获取对象可以访问的所有成员的列表
作用:设置描述符操作的函数
1 2 3 4 5 6 7
| <左对齐 ^ 居中对齐 >右对齐
#str1 = '我的女朋友是{0:#<10}' #str1 = '我的女朋友是{0:#^10}' str1 = '我的女朋友是{0:#>10}' result = str1.format('小红') print(result)
|
内置成员与方法
1 2 3 4 5
| __dict__:获取类/对象的所属成员组成的集合 __doc__:获取类的文档信息 __name__:获取类名称的字符串 __module__:获取当前类所在的文件的名称,当前文件显示为__main__ __bases__:获取当前类的父类列表
|
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 32 33 34 35 36 37 38 39 40 41 42
| class Animal: pass
class Action: pass
class Human(Animal,Action): ''' 这是类的文档 成员 信息 成员 信息 成员 信息~ 成员 信息 ''' sex = 1 age = 18 color = 'yellow' def smile(self): print('哈哈哈哈哈') def cry(self): print('呜呜呜呜~~')
ren = Human()
print(Human.__bases__)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 对象方法:该方法中会直接传入当前对象 调用方式:对象.成员方法() 特征:会将当前对象传入方法中
类方法:在方法中会直接传入当前类 调用方式:类.成员方法() 特征:会将当前类传入方法中
绑定类的方法:在方法中不会传入类或者对象的方法 调用方式:类.成员方法() 特征:不会传入类或者对象
静态方法:与类喝对象无关,但是存在于类结构中的方法 调用方式:类.成员方法() 或者对象.成员方法() 特征:类或者对象都可以调用
|
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 32 33 34 35 36 37
| class Human: def eat(self): print(self) print('这是一个对象方法')
@classmethod def drink(cls): print(cls) print('这是一个类方法')
def play(): print('绑定类的方法')
@staticmethod def happy(): print('这是一个静态方法')
ren = Human()
|