19、Python 魔法方法、属性和迭代器深入解析

Python 魔法方法、属性和迭代器深入解析

在 Python 编程中,魔法方法、属性和迭代器等特性为我们提供了强大而灵活的编程能力。下面将详细介绍这些重要的概念及其应用。

一、super 函数的使用

在 Python 中,当我们从实例中获取方法时,方法的 self 参数会自动绑定到该实例,这就是所谓的绑定方法。但如果直接从类中获取方法(如 Bird.__init__ ),就没有实例可以绑定,这种方法被称为未绑定方法。

通过将当前实例作为未绑定方法的 self 参数,子类可以充分利用其父类的构造函数。不过,在 Python 中,更推荐使用 super 函数。 super 函数仅适用于新式类,使用时将当前类和实例作为参数传入,调用返回对象的任何方法都会从父类中获取,而不是当前类。在 Python 3 中, super 通常可以不带任何参数调用。

以下是一个鸟类示例的更新版本:

class Bird:
    def __init__(self):
        self.hungry = True
    def eat(self):
        if self.hungry:
            print('Aaaah ...')
            self.hungry = False
        else:
            print('No, thanks!')

c
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值