Python类巩固

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法.

对象:是类的实例化

方法:类中定义的函数

特殊的方法:__init__()当创建一个新实例时,都会自动运行它,加下划线是必要的,是为了区分默认方法和普通方法,如果不加那么在调用新实例时将不会自动调用这个方法。

方法定义的形参self必不可少,而且必须定义在最前面,作用是指向实例本身的一个引用,让实例能够访问类中的属性和方法

以self为前缀的变量可供类中的所有方法使用,可以通过类的任何实例来访问

可以根据需求创建任意多的实例,条件是每个实例都储存在不同的变量中

如果要编写的类是另一个现成的类的特殊版本,可以使用继承,一个类继承另一个类时,将自动获得另一个类的所有属性和方法,原有的类叫父类,继承父类所有的属性和方法,也可以自己定义新的方法

特殊函数super能让子类顺利的调用父类的方法

父类的重写:
在子类中定义一个和父类中名字完全一样的方法,然后进行重写即可,在调用子类时使用了这个方法,那么将会显示出修改后的方法,但是在调用父类的这个方法时,仍然显示的是原来的方法内容,既这个修改内容仅仅在调用子类时是生效的:

class Car:
    def __init__(self, make, model, year):
        self.ma = make
        self.mod = model
        self.ye = year
        self.gas = 100

    def get_descriptive_name(self):
        long_name = f"{self.ye} {self.ma} {self.mod}"
        return long_name.title()

    def fill_gas_tank(self):
        print(f"The tank is only {self.gas} gas")

class ElectricCar(Car):

    def __init__(self, make, model, year):
        super().__init__(make, model, year)
    
    def fill_gas_tank(self):
        print("This car doesn't need a gas tank!")

my_car = ElectricCar('teals', 'model s', 2020)
my_car.fill_gas_tank()
car = Car('audi', 'A8L', 2021)
car.fill_gas_tank()

cout :
在这里插入图片描述
将实例用作属性:

当类越来越长时,为了增加代码的可读性,尝试将一部分代码单独提取出来,单独作为一个类。可以将一个大类拆分成多个协调用工作的小类。
提取出来后,要创建一个小类当做实例作为主类的属性

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值