+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(2)

2019-08(105)

2019-09(104)

2019-10(5)

2019-11(7)

python方法没有重载以及方法的动态性

发布于2020-09-30 06:50     阅读(394)     评论(0)     点赞(23)     收藏(2)


0

1

2

3

4

5

6

__call__方法和可调用对象

         定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用

 方法没有重载

        在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可,方法签名包含3个部分:方法名,参数数量,参数类型。

        python中,方法的参数没有类型(调用时确定参数的类型),参数的数量也可以由可变参数控制,因此,python中没有方法的重载的,定义一个方法即可由多种调用方式,相当于实现了其他语言中的方法重载。

        如果我们在类体中定义多个重名的方法,只有最后一个方法有效。

        建议:不要使用重名的方法!python中没有重载

       **python中没有方法重载,定义多个同名方法,只有最后一个有效。

方法的动态性

      python是动态语言,可以动态的为类添加新的方法,或者动态的修改类的已有方法。

  1. # 测试方法的动态性
  2. class person():
  3. def work(self):
  4. print('好好上班')
  5. def play_name(s):
  6. print('不好好上班,{}'.format(s))
  7. p = person()
  8. p.work()
  9. # p.play = play_name
  10. # p.play('dd')
  11. person.play=play_name
  12. p.play() #此处解释器解释,person.play(p) 含义:实例对象的方法调用本质

     

 

原文链接:https://blog.csdn.net/qq_38934189/article/details/108736856

0

1

2

3

4

5

6

7



所属网站分类: 技术文章 > 博客

作者:我就是喜欢你

链接: https://www.pythonheidong.com/blog/article/554237/c906a741a3ff0a59f046/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

23 0
收藏该文
已收藏

评论内容:(最多支持255个字符)