加载中...

2024/1/20 每日一记

2024/1/20 每日一记

Python 类

  1. 成员变量
  2. 构造方法
  3. 魔术方法
  4. 私有成员变量/方法
  5. 类型注解
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}"

注意事项:

  1. 方法自带参数self,相对与Java中的this,不需要手动添加
  2. 调用类中的变量或方法,要使用 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} 在听课")

注意事项:

  1. 在类目后加上括号,括号里写继承自那个类
  2. 支持多继承,在多个继承的类中,存在一样的变量和方法,左侧的优先级高
  3. 在方法里不写任何内容,可直接用pass,这个类即是抽象类/接口,具体内容由继承它的类去完成(称之为复写
  4. 在子类中调用父类的方法,方式一:使用类名. 的方法,要加 self,方法二:使用super( ). 的方式
posted @ 2024-01-21 10:12  strind  阅读(7)  评论(0)    收藏  举报