Python 类和对象-下

类的常用函数

#issubclass() 检测一个类是否是另外一个或者一组类中的子类

class Father:
    pass
class Mother:
    pass
class LaoWang:
    pass
class Son(Father,Mother):
    pass

#检测
#result = issubclass(Son,Father)
#result = issubclass(Son,Mother)
#result = issubclass(Son,LaoWang)
result = issubclass(Son,(LaoWang,Mother))#检测是否是Mother或者LaoWang的子类
print(result)

#isinstance() 检测某个对象是否是指定类的对象(类型检测)
a = 10
#result = isinstance(a,int)
#result = isinstance(a,float)
result = isinstance(a,(Father,int)) #检测a是否是Father或者int类的对象
print(result)

#hasattr()  检测类和对象是否有指定的成员
class Human:
    #属性
    sex = 'man'
    age = 19
    color = 'yellow'

    #方法
    def __init__(self):
        self.hair = '黑色'

    def eat(self):
        print('吃饭')

wbq = Human()

#result = hasattr(wbq,'sex')
#result = hasattr(wbq,'age')
result = hasattr(wbq,'drink')
print(result)

result = hasattr(Human,'sex')
print(result)

#getattr() 获取对象/类成员的值
#已存在
#result = getattr(wbq,'age') #相当于wbq.age
#不存在
result = getattr(wbq,'weight','90kg') #成员不存在时设置获取的默认值
print(result)

#setattr() 设置对象/类成员的值
print(wbq.age)
setattr(wbq,'age',29) #相当于wbq.age = 29
print(wbq.age)

#delattr() 删除对象/类成员的值
print(wbq.hair)
delattr(wbq,'hair')
#print(wbq.hair)


#类和对象常用的属性
class Animal:
    pass
class Demo:
    pass

class Human(Animal,Demo):
    '''
    这是类的文档,一个人类的类
    介绍
    成员
    方法
    '''
    #属性
    sex = 'man'
    age = 18
    color = 'yellow'

    #方法
    def sleep(self):
        print('睡觉')

    def hit(self):
        print('打豆豆')

dd = Human()
#__dict__获取对象或者类的自身成员
print(Human.__dict__)
print(dd.__dict__)

#__doc__ 获取类的文档
print(Human.__doc__)
print(dd.__doc__)

#__name__ 获取类名 (类来使用对象不行)
print(Human.__name__)

#__bases__ 获取一个类直接继承的所有父类元组
print(Human.__bases__)

#__module__ 获取类的模块名称  __main__ 当前类文件直接执行的文件
print(Human.__module__)

 

posted @ 2017-12-11 13:29  Sun阳  阅读(202)  评论(0编辑  收藏  举报