python重载和重写的区别
Python的重载和重写有以下区别:
1. 重写(override):重写是子类对父类方法的修改,要求方法名相同,参数列表也相同。重写通常用于继承中的方法修改,子类可以通过重写来修改或替换父类的方法。
2. 重载(overload):重载是同一个方法名对应多个不同参数类型的实现。在Python中,重载并不被推荐,因为Python不需要限定参数类型,又可以接受可变参数,因此函数重载就显得非常鸡肋。
不过,Python依然能通过singledispatch装饰器来实现重载,但官方称这样的函数为泛型函数。