内置成员
dict:获取类/对象的所属成员组成的集合 *
自己编写类文档
doc:获取类的文档信息 *
class Human():
‘’’
这是一个人类的类
他有着。。的方法
可以制造出什么样的对象
‘’’
name = “人类”
print(Human.doc)
name:获取类名称的字符串
str1 = tuple.name
print(str1,type(str1))
module:获取当前类所在的文件的名称,如果是当前文件,显示为main(后面会讲其他的)
print(list.module)
结果为builtins
bases:获取当前类的父类列表
class Human():
pass
class Man(Human):
pass
class Woman(Human):
pass
class Child(Man,Woman):
pass
print(Child.bases)
#结果为(<class ‘main.Man’>, <class ‘main.Woman’>)
方法的分类
1.对象方法:该方法中会直接传入当前对象
调用方式:对象.成员方法() #类.成员方法(self)也可以
特征:会将当前对象传入方法中
2.类方法:在方法中会直接传入当前类
@classmethod: 不需要实例化,直接类名.方法名()来调用。
调用方式:类.成员方法() #对象.成员方法()也可以
特征:会将当前类传入方法中
3.绑定类的方法:在方法中不会传入类或者对象的方法
调用方式:类.成员方法()
特征:不会传入类或者对象,只能通过类来调用
4.静态方法:与类和对象无关,但是存在于类结构中的方法
@staticmethod: 返回函数的静态方法。
调用方式:类.成员方法() 或者对象.成员方法()
特征:类或者对象都可以调用
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(1,2,3)
使用类调用静态方法
Human.move(“人类”,“女”,16)
print(Human.dict)
print(dir(wenguang))
Human.eat()
魔术方法(魔法函数):一种特殊的方法。
特点:不需要人工调用,在特定的时刻自动执行。
1.init 初始化魔术方法 *****
1.触发时机:实例化对象之后触发
2.作用:为实例化的对象添加对象的所属成员。
3.参数:一个self 接受当前对象 其他的参数根据实例化的传参决定
4.返回值:无
5.注意事项:无
例:
class Name():
age = 18
def init(self,head):
s