18、Python类方法与魔法方法详解

Python类方法与魔法方法详解

1. 方法概述

在Python中,当一个函数被分配给一个类时,它就被视为一个方法。虽然方法在本质上仍然像函数一样工作,但由于函数实际上也是描述符,所以方法可以访问类的信息。方法主要分为两种类型:未绑定方法和绑定方法。

2. 未绑定方法

由于描述符可以从类及其实例中访问,所以方法也可以从这两者中访问。当从类中访问一个函数时,它就成为一个未绑定方法。描述符接收类,但方法通常需要实例,因此在没有实例的情况下访问时,它们被称为未绑定方法。

>>> class Example:
...     def method(self):
...         return 'done!'
...
>>> type(Example.method)
<class 'function'>
>>> Example.method
<function method at 0x...>
# self isn't passed automatically
>>> Example.method()
Traceback (most recent call last):
  ...
TypeError: method() takes exactly 1 position argument (0 given)

在Python 3.0之前,直接从类中访问函数描述符会返回一个 instancemethod 对象,而在新版本中,它直接返回函数对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值