面向对象编程——常用的内置属性

一.类属性

1.类的属性  __dict__

        类的 __dict__ 属性是一个字典,存储了类的属性和方法,包含了类的所有属性(包括类属性和方法)。

class Person:
    age = 19
    def __init__(self):
        self.name = "sz"
    
    def run(self):
        print("run")


print(Person.__dict__)

输出结果:

{'__module__': '__main__', 'age': 19, '__init__': <function Person.__init__ at 0x000001E41E81F040>, 'run': <function Person.run at 0x000001E41E81F0D0>, '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>, '__doc__': None}

2.类的所有父类构成元组  __bases__

        在 Python 中,__bases__ 是一个类的属性,它是一个元组,包含该类的所有直接父类。通过 __bases__,你可以查看类的直接继承关系。

class Person:
    age = 19
    def __init__(self):
        self.name = "sz"
    
    def run(self):
        print("run")


print(Person.__bases__)

输出结果:

(<class 'object'>,)

3.类的文档字符串 __doc__

        在 Python 中,__doc__ 是一个特殊的内置属性,用于存储类、函数、模块等对象的文档字符串(docstring)。文档字符串是代码中用于描述对象功能和用法的字符串,通常位于对象定义的开头。

class Person:
    """
    这是一个人,这样的类
    """
    age = 19

    def __init__(self):
        self.name = "sz"

    def run(self):
        print("run")


print(Person.__doc__)

输出结果:

    这是一个人,这样的类

4.类名 __name__

class Person:
    """
    这是一个人,这样的类
    """
    age = 19

    def __init__(self):
        self.name = "sz"

    def run(self):
        print("run")


print(Person.__name__)

输出结果:

Person

5.类定义所在的模块  __module__

    __module__ 是 Python 中类、函数或模块对象的一个内置属性,用于表示该对象定义所在的模块名称。通过 __module__,你可以动态地获取某个类或函数所属的模块,这在调试、日志记录或动态加载模块时非常有用。

class Person:
    """
    这是一个人,这样的类
    """
    age = 19

    def __init__(self):
        self.name = "sz"

    def run(self):
        print("run")


print(Person.__module__)

输出结果:

__main__

二.实例属性

1.实例的属性  __dict__

        实例的 __dict__ 是一个普通字典,存储了实例的属性。实例的 __dict__ 不包含方法,只包含实例函数。

class MyClass:
    class_attr = "I am a class attribute"

    def __init__(self, value):
        self.instance_attr = value

    def method(self):
        return "I am a method"

obj = MyClass("Instance value")

# 查看实例的 __dict__
print(obj.__dict__)

输出结果:

{'instance_attr': 'Instance value'}

2.实例对应的类 __class__

        在 Python 中,每个实例都有一个特殊的属性 __class__,它指向实例所属的类。通过 __class__,你可以获取实例的类定义,或者对类进行动态操作。

class Person:
    """
    这是一个人,这样的类
    """
    age = 19

    def __init__(self):
        self.name = "sz"

    def run(self):
        print("run")

p = Person()
print(p.__class__)

输出结果:

<class '__main__.Person'>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俊昭喜喜里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值