CS50 Object-Oriented Programming

敖炜 Lv5

CS50’s Introduction to Programming with Python Lecture8

  1. 每个函数都要有self参数
  2. __init__函数:初始化函数
  3. __str__函数:当对象被视作字符串时,自动调用此函数
  4. getter函数,访问实例变量时自动调用该函数
    1
    2
    3
    @property
    def house(self):
    return self.house
  5. setter函数,更改实例变量时自动调用该函数
    1
    2
    3
    4
    5
    @house.setter
    def hosue(self, house):
    if house not in ["Gryffindor", "Hufflepuff", "Ravenclaw", "Slytherin"]:
    raise ValueError("Invalid house")
    self.house = house
  6. 类的内部不能同时存在同名的实例变量函数,因此实例变量通常以_开头。getter函数与setter函数的函数名没有_,但是函数中实际操作以_开头的实例变量
  7. @classmethod修饰符修饰类方法,self被替换为cls
    1
    2
    3
    @classmethod
    def sort(cls, name):
    print(...)
  8. 类变量直接在类定义中声明
  9. 运算符重载,参考官方文档
  • 标题: CS50 Object-Oriented Programming
  • 作者: 敖炜
  • 创建于 : 2023-07-22 13:22:26
  • 更新于 : 2024-04-19 09:31:00
  • 链接: https://ao-wei.github.io/2023/07/22/CS50-Object-Oriented-Programming/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
此页目录
CS50 Object-Oriented Programming