甜萝 发表于 2022-12-17 22:23

python类中的同名方法

本帖最后由 paypojie 于 2022-12-17 22:26 编辑

python的类中如果定义了同名的方法 那么后定义的方法会覆盖掉之前定义的方法 请看例子
class Person():
    def __init__(self,name):
      self.name = name
    def run(self):
      print('1 跑步')
    def run(self,n):
      print('2 跑步',n)

p = Person('Anna')
p.run()以上代码运行会报错




将参数值传递到run()方法里就不会报错
class Person():
    def __init__(self,name):
      self.name = name
    def run(self):
      print('1 跑步')
    def run(self,n):
      print('2 跑步',n)

p = Person('Anna')
p.run(2)


无闻无问 发表于 2022-12-18 08:11

这货没有重载的东东,不然不会有@staticclass这玩意…

nj2004 发表于 2022-12-18 08:28

感谢分享!学习

甜萝 发表于 2022-12-18 09:11

无闻无问 发表于 2022-12-18 08:11
这货没有重载的东东,不然不会有@staticclass这玩意…

python没有重载

qzh阑珊梦 发表于 2022-12-18 09:12

你可以写成run(self,n=none)的形式

甜萝 发表于 2022-12-18 09:14

qzh阑珊梦 发表于 2022-12-18 09:12
你可以写成run(self,n=none)的形式

试了一下 确实可以

crazywawa 发表于 2022-12-18 09:20

Python中的函数参数可以用可变参数*args,不需要像Java一样方法重载

constwm 发表于 2022-12-18 10:28

学习python的第33天,感谢分享

甜萝 发表于 2022-12-18 13:49

constwm 发表于 2022-12-18 10:28
学习python的第33天,感谢分享

不用谢。{:301_998:}

甜萝 发表于 2022-12-19 10:20

wangsking 发表于 2022-12-19 09:03
谢谢分享,共同学习,共同进步!

加油 hh {:301_998:}
页: [1]
查看完整版本: python类中的同名方法