第13章 面向对象编程(3)

本文深入探讨了Python中类属性的概念,包括数据属性、方法、如何决定类的属性以及特殊的类属性如__name__、__doc__等。通过示例展示了如何访问和使用这些属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

13.4 类属性

属性就是属于另一个对象的数据或者函数元素,可以通过我们熟悉的句点属性标识来访问。

13.4.1 类的数据属性

数据属性仅仅是所定义的类的变量。

静态变量,或者是静态数据表示这些数据是与它们所属的类对象绑定的,不依赖于任何类实例。

静态成员通常仅用来跟踪与类相关的值。大多数情况下,你会考虑用实例属性,而不是类属性。

13.4.2 Methods

没有实例,方法是不能被调用的,这种限制即Python所描述的绑定概念(binding),在此,方法必须绑定到一个实例才能直接被调用。

13.4.3 决定类的属性

要知道一个类有哪些属性,有两种方法。最简单的是使用dir()内建函数。另外是通过访问类的字典属性__dict__。

13.4.4 特殊的类属性

__name__ 类的名字(字符串)

__doc__ 类的文档字符串

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

__dict__ 类的属性

__module__ 类定义所在的模块

__class__ 实例对应的类

>>> class C(object): ... pass ... >>> C.__name__ 'C' >>> C.__dict__ <dictproxy object at 0x00F6E850> >>> print C.__dict__ {'__dict__': <attribute '__dict__' of 'C' objects>, '__module__': '__main__', '__weakref__': <attribute '__weakref__' of 'C' objects>, '__doc__': None} >>> C.__doc__ >>> C.__bases__ (<type 'object'>,) >>> C.__module__ '__main__' >>> c = C() >>> c.__class__ <class '__main__.C'> >>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值