#内置成员
__dict__:获取类/对象的所属成员组成的集合 *
__doc__:获取类的文档信息 *
__name__:获取类名称的字符串
__module__:获取当前类所在的文件的名称,如果是当前文件,显示为main(后面会讲其他的)
__bases__:获取当前类的父类列表
#方法的分类
1.对象方法:该方法中会直接传入当前对象
调用方式:对象.成员方法()
特征:会将当前对象传入方法中
2.类方法:在方法中会直接传入当前类
@classmethod: 不需要实例化,直接类名.方法名()来调用。
调用方式:类.成员方法()
特征:会将当前类传入方法中
3.绑定类的方法:在方法中不会传入类或者对象的方法
调用方式:类.成员方法()
特征:不会传入类或者对象,只能通过类来调用
4.静态方法:与类和对象无关,但是存在于类结构中的方法
@staticmethod: 返回函数的静态方法。
调用方式:类.成员方法() 或者对象.成员方法()
特征:类或者对象都可以调用
# 方法的分类
# 1. 对象方法(传入对象)
class Human():
# 对象方法
def say(self):
print(self)
print("人类叫起来很动听")
# 类方法 在方法中会直接传入当前类
@classmethod
def run(cls):
print(cls)
print("人类跑起来piapia的")
# 静态方法:与类和对象无关,但是存在于类结构中的方法
@staticmethod
def move(name,sex,age):
print("人类之间的迁徙活动是生存本能")
# 绑定类方法
def eat():
print("人类能吃的全吃了,不能吃的正在变得能吃")
wenguang = Human()
wenguang.say()
wenguang.run()
Human.run()
# 使用对象调用静态方法
wenguang.move()
# 使用类调用静态方法
Human.move("人类","女",16)
print(Human.__dict__)
print(dir(wenguang))
wenguang.eat()