class Person(object):
"""用来完整的描述一个人的基本属性和方法"""
# 类属性
country = '中国'
def __init__(self):
self.province = '河南'
self.__age = 18
def run(self):
"""跑步的功能"""
print(self.province)
print("我要开始天天跑步")
# 定义类方法
@classmethod
def test_class(cls):
print("in test class")
# 定义静态方法
@staticmethod
def test_static():
print("in static method")
def __call__(self, *args, **kwargs):
print("我被调用了")
def __str__(self):
return self.province
p = Person()
print(p)
# __doc__表示类的描述信息
print(Person.__doc__)
# __dict__:类或对象中的所有属性
print(p.__dict__) # 记录实例对象的属性
print(Person.__dict__) # 记录当前类中的定义的方法和类属性
# __class__表示当前操作的对象的类是什么
print(p.__class__)
print(p.__class__.__doc__)
# __module__表示当前操作的对象在哪个模块
print(Person.__module__)
print(p.__module__)
# 在这里输出的是一个type类,这是一个元类,元类是用来创建类对象的(了解即可)
print(Person.__class__)
# 调用执行某一个实例对象 如果没有__call__方法,会'Person' object is not callab错误, 需要实现__call__方法
p()
相关文章
- java中实例化子类时会不会调用父类的构造方法?
- Spring中获取某一类型下所有Bean实例的方法
- 1.请定义一个交通工具(Vehicle)的类其中有: 属性: 速度(speed)、 体积(size)等,方法:移动(move)、设置速度(setSpeed(int speed))、加速 spee
- php 给对象动态增加属性 及子类继承父类的构造方法
- Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例
- 设计一个类Student: (1)属性包括姓名、学号和成绩 (2)方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。 编写测试类运行上面的方法。
- pyqt5 添加属性-类方法用属性形式访问
- 切面 Aspect ProceedingJoinPoint 获取当前类、方法等属性API
- python实例、类方法、静态方法
- moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解