python类:__init__()方法;普通方法;self参数;类的继承;子类实例化;方法重写;将实例用作属性

本文详细介绍了Python中`__init__`方法的作用,如何定义和使用类、实例,以及子类的继承、方法重写和类属性的应用。通过实例演示了如何创建类、实例化对象以及操作其属性和方法。
摘要由CSDN通过智能技术生成

1. __init__()是一个特殊的方法,每当类创建实例时,python会自动运行它。

注意:务必确保__init__()的两边都有两个下划线,否则会被认为是普通方法,而不是python的默认方法。

2.定义类举例:

class 小金豆:
    """这两天南方小金豆在哈尔滨很火啊"""
    
    def __init__(self, name, age):
        """初始化属性"""
        self.name = name
        self.age = age
    
    def game(self):
        """冰雪大世界玩耍"""
        print(f"{self.name} 左脚、右脚、左脚、右脚,来,左右左。。。")

3. 形参self的作用:

形参self必不可少,而且必须位于其他形参前面。python创建该类的实例时,将自动传入实参self,每个与实例相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。

4.变量前缀self的作用:

以self 为前缀的变量可供类 中的所有方法使用,可以通过类的任何实例来访问。self.name = name 获取与形参name 相关联的值,并将其赋给变量name ,然后 该变量被关联到当前创建的实例。像这样可通过实例访问的变量称为属性

5.创建实例:

>>>小金豆子 = 小金豆("Golden bean",20)

//调用属性
>>>print(f"小金豆的名字是:{小金豆子.name}.")
小金豆的名字是:Golden bean.
>>>print(f"小金豆的年龄是:{小金豆子.age}.")
小金豆的年龄是:20.

//调用方法

>>>小金豆子.game()
Golden bean 左脚、右脚、左脚、右脚,来,左右左。。。

6.子类

class 小小金豆(小金豆):
    """子类"""
    def __init__(self,name,age):
        """初始化父类的属性"""
        super().__init__(name,age)

super是一个特殊的函数,可以通过它调用父类的方法。

7.子类实例化

>>>小小金豆子 = 小小金豆("small golden bean", 1)
>>>print(小小金豆子.game())
small golden bean 左脚、右脚、左脚、右脚,来,左右左。。。

8.重写父类方法

class 小小金豆(小金豆):
    """子类"""
    def __init__(self,name,age):
        """初始化父类的属性"""
        super().__init__(name,age)

    def game(self):
        print("我是小小金豆子,只会玩玩具,不会溜冰")

子类实例调用game()方法:会忽略父类中的game()方法

>>>小小金豆子 = 小小金豆("small golden bean", 2)
>>>小小金豆子.game()
我是小小金豆子,只会玩玩具,不会溜冰

9.将实例用作属性

class Toy:
    def __init__(self, type="car", color="blue"):
        self.type = type
        self.color = color
class 小小金豆(小金豆):
    """子类"""
    def __init__(self,name,age):
        """初始化父类的属性"""
        super().__init__(name,age)
        self.toy = Toy()

    def game(self):
        print(f"我是小小金豆子,只会玩玩具,我的玩具是:{self.toy.color} {self.toy.type}")

运行:

>>>小小金豆子 = 小小金豆("small golden bean", 2)
>>>小小金豆子.game()
我是小小金豆子,只会玩玩具,我的玩具是:blue car

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值