元类
- 创建类对象的类
- 对象怎么产生的?由类创建出来的。
- 类是不是对象?是
- 所以类对象是不是由另外一个类创建出来的?是,元类
创建类对象的另外一种方式
# 创建类对象的另外一种方式
def run(self):
print("run ", self)
dog = type("Dog", (), {"count": 1, "run": run})
print(dog)
# 类实例化
d = dog()
print(d.count)
print(d.run())
元类的检索机制
# 往上找(元类检索机制)
# 1.检测类中是否有明确的__metaclass__属性
# 2.检测父类中是否有明确的__metaclass__属性
# 3.检测模块中是否有明确的__metaclass__属性
# 4.通过内置的type这个元类来创建类对象
__metaclass__ = xxx
class Person(metaclass=xxx):
__metaclass__ = xxx
pass
类的描述
类的描述
class Person:
"""
关于这个类的描述,类的作用,类的构造函数等等;类属性的描述
Attributes:
count: int 代表是人的个数
"""
# 这个表示,是人的个数
count = 1
def run(self, distance, step):
"""
这个方法的作用效果
:param distance: 参数的含义 ,参数的类型,是否有默认值
:param step:
:return: 返回的结果的含义(时间),返回数据的类型
"""
print("人在跑")
help(Person)
pydoc的使用
-
python -m pydoc 类的描述(模块名)
-
python -m pydoc -p 1234
-
python -m pydoc -b
跟上面命令的作用一致,端口不需要指定,自动查找可用的端口 -
python -m pydoc -w classDesc(模块名)
将模块的描述写入到html中
当然我们也可以使用第三方模块Sphinx、epydoc、doxygen
学习链接: 【Python】零基础入门 面向对象编程(强烈推荐)
标签:__,元类,run,python,笔记,pydoc,面向对象,metaclass From: https://www.cnblogs.com/amanzhj/p/17795935.html