2023-3-7笔记:Python多继承,父类方法复写与注解

面向对象

继承与多继承
class Phone:
    # 厂商
    manufacturer = "huawei"

    # 打电话方法定义
    def call_5g(self):
        print("奈斯")


class NFCReader:
    # 厂商
    manufacturer = "zhongxing"

    # 读卡方法定义
    def reader(self):
        print("读卡")

# 继承Phone与NFCReader
class MyPhone(Phone, NFCReader):
    # 类没有实现,可以用pass,保证代码完整性 无实际意义
    pass

my_phone = MyPhone()
my_phone.call_5g()
my_phone.reader()
# 父类中都有某属性或方法时,按照左侧有限原则,manufacturer显示“huawei”
print(my_phone.manufacturer)
复写父类属性方法,调用父类方法
class Phone:
    # 厂商
    manufacturer = "huawei"

    # 打电话方法定义
    def call_5g(self):
        print("5g call")

# 继承Phone与NFCReader
class MyPhone(Phone):
    # 复写父类属性
    manufacturer = "new huawei"

    def call_5g(self):
        # 调用父类方法第一种方式
        Phone.call_5g(self)
        # 调用父类方法第二种方式
        super().call_5g()
        print("信号增强")


my_phone = MyPhone()
my_phone.call_5g()
print(my_phone.manufacturer)

执行结果

5g call
5g call
信号增强
new huawei
注解
变量注解
var_1: int = 10
var_2: list = {1, 2, 3}
var_3: tuple = (1, 2, 3)
var_4: list[int] = {4, 5, 6}
var_5: tuple[str, int] = ("hello", 5)
方法与返回值注解
# 注解:参数与int类型 返回值为int类型
def add(x: int, y: int) -> int:
    return x + y
联合注解
from typing import Union
var_1: list[Union[str, int]] = {1, "str"}

注解只是相当于备注,即便错了对代码运行不会造成影响

today结束~~~~每天进步一丢丢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值