a=Student()
a.say_score()等价于Student.say_score(a)
方法得动态性这里有点绕
a=Student()
a.say_score()等价于Student.say_score(a)
方法得动态性这里有点绕
方法没有重载
在其他语言,可以定义多个重名的方法,只要保证方法签名——形参列表,唯一即可。但在python里面,方法的参数没有声明类型,参数的数量也可以由可变参数控制
所以,不要使用重名的方法,定义了多个同名函数之后,只有最后一个函数可以被识别调用。
方法的动态性
python是动态语言,我们可以动态得为类添加新方法,或者动态修改类已有的方法
python中方法/函数没有重载
同名函数,后者覆盖前者
class 外可以用新函数覆盖class 内的方法函数
覆盖新函数要加第一位形参self
class.函数名=类外函数名