面向对象
继承与多继承
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结束~~~~每天进步一丢丢