2024/1/20 每日一记
Python 类
- 成员变量
- 构造方法
- 魔术方法
- 私有成员变量/方法
- 类型注解
class Circle:
# : int 是类型注解,仅用于提示功能,不会进行类型校验
r: int = None
# 私有成员变量,变量名前面加_
_color = None
# 构造方法
def __init__(self, r: int):
self.r = r
# 私有方法
def _size(self):
print(3.14 * self.r * self.r)
# 魔术方法
def __lt__(self, other):
return self.r < other.r
def __str__(self):
return f"Circle`s r = {self.r} and color is {self._color}"
注意事项:
- 方法自带参数self,相对与Java中的this,不需要手动添加
- 调用类中的变量或方法,要使用 self. 的方式
- 类的继承
class Person:
name = None
def work(self):
pass
class Teacher(Person):
def work(self):
print(f"{self.name} 在教书")
class Student(Person):
def work(self):
print(f"{self.name} 在听课")
注意事项:
- 在类目后加上括号,括号里写继承自那个类
- 支持多继承,在多个继承的类中,存在一样的变量和方法,左侧的优先级高
- 在方法里不写任何内容,可直接用pass,这个类即是抽象类/接口,具体内容由继承它的类去完成(称之为复写)
- 在子类中调用父类的方法,方式一:使用类名. 的方法,要加 self,方法二:使用super( ). 的方式