zoukankan      html  css  js  c++  java
  • python 重载方法有哪些特点

    说起python重载,大家学过其他的语言比如说C#语言的话,应该知道有方法重载和运算符重载的概念,但是python重载的话,有它自己的特殊性,下面我说说自己的一点看法,希望大家踊跃拍砖。

    python 的重载主要包括方法重载和运算符重载。

    1.python 方法重载: 其他的语言一般对于方法重载的话,主要是根据参数的类型不同或者是数量不同来区分同名的方法。而python则比较特殊,它本身是动态语言,方法的参数是没有类型的,当调用传值的时候才确定参数的类型,故对参数类型不同的方法无需考虑重载。对参数数量不同的方法,则(大多数情况下)可以采用参数默认值来实现。

    比如你可以定义函数的默认值:

    def info(x,y,z=1):

         pass

    2.python 运算符重载: 在C#中,我们通过使用关键字operator定义一个运算符方法,并定义与所在类相关的运算符行为。在 Python中,运算符重载的方式更为简单——每一个类都默认内置了所有可能的运算符方法,只要重写这个方法,就可以实现针对该运算符的重载。例如以下是重载加法操作:

    class Info(object):
        def __init__(self):
            self.a = 11
            self.= 22
        def __add__(self,x):
            return self.a * self.b


    a = Info()
    = Info()
    print a + b
     

    上面的例子是重写了+操作符号,你也可以重载其他的运算符。比如你可以重载乘号运算符,感兴趣的话,可以自己写写代码。

    希望上面讲的2点能够让你对python重载有个简单的认识。有兴趣的可以关注下。 [python 动态创建类]


    原创文章请注明转载自老王python,本文地址:http://www.cnpythoner.com/post/132.html
    作者:老王@python python 教程
    老王python,提供python相关的python 书籍,python 主机,django 教程和python 下载,希望大家能够喜欢!

  • 相关阅读:
    ubuntu 通过命令将数据复制到u盘
    项目感言--功能的模块化
    java 中变量的存储与引用
    java 基础拾漏
    自动完成--autoComplete插件(2)
    自动完成--autoComplete插件
    Linux查看端口
    Linux查看系统信息
    js splice方法
    slice、substring、substr
  • 原文地址:https://www.cnblogs.com/wanpython/p/2721323.html
Copyright © 2011-2022 走看看