
正文
python中函数重载吗 python有函数重载吗
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
简述python面向对象编程中函数重载和重写的区别
这个基本是没有一点关联。。。只是名字容易混淆而已 重写就是对父类python中函数重载吗的方法重写python中函数重载吗,改变方法体中的语句。。。。 重载就是同一个函数名python中函数重载吗,参数个数、类型、排列顺序不同python中函数重载吗,jvm根据参数来决定调用哪一个方法
相关问答
Q1: 为什么 Python 不支持函数重载
重载和重写,这是两个新概念,是两个令我们容易混淆的概念。方法重载(overloadingmethod)是在一个类里面,方法名字相同,而参数不同。返回类型呢?可以相同也可以不同。方法重写(overidingmethod)子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法,这就是多态性。方法重写:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类重写方法的规则:参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载.访问修饰符的限制一定要大于被重写方法的访问修饰符(publicprotecteddefaultprivate)重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常.例如,父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常.重载的规则:必须具有不同的参数列表;可以有不同的返回类型,只要参数列表不同就可以了;可以有不同的访问修饰符;可以抛出不同的异常;注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。重写方法只能存在于具有继承关系中,重写方法只能重写父类非私有的方法。下面分别举一个例子来说明方法重载:publicclassTestOverLoad{publicstaticvoidmain(String[]args){Testtest=newTest();test.print(null);}}classTest{publicvoidprint(Stringsome){System.out.println("Stringversionprint");}publicvoidprint(Objectsome){System.out.println("Objectversionprint");}}该程序输出的结果是Stringversionprint。
Q2: python怎么重载in关键字
f=open('aaa.txt')
l=f.readline()
for
i
in
l:
if
"bbb"
in
i:
"ok
f.close()
打开文件aaa.txt
for循环,一行一行的,如果bbb关键字在i这一行,打印ok
Q3: 怎么理解Python中重载?通俗理解是
python里面没有重载吧?
正常的重载说的应该是函数方法的重载,即两个函数的名称相同但是参数不同是重载,会出现重载的情况一般是函数实现相同功能时,遇到参数类型可能不同的情况,会出现重载,如比较常见的对于加法的实现,如果输入两个整数相加则直接使用整数加法,如果两个字符串相加则使用字符串的拼接。输入的参数类型不同,其实是两个不同的函数,这在那种强类型语言中是可以利用函数重载来实现的,而python中函数类型是动态的各种各样的,所以不需要重载这个机制。相同函数名就是表示同一个方法。
Q4: Python魔法函数(特殊函数)
Python中如何实现运算符的重载,即实现例如a+b这样的运算符操作呢?
在C++中可以使用 operator 关键字实现运算符的重载。但是在Python中没有类似这样的关键字,所以要实现运算符的重载,就要用到Python的魔法函数。Python魔法函数是以双下划线开头,双下划线结尾的一组函数。我们在类定义中最常用到的 __init__ 函数就是这样一个魔法函数,它在创建类对象时被自动调用。
下面我们来看个简单的例子。
上述代码示例了几个魔法函数的用法。 __add__ 函数对应了二元运算符+,当执行a+b语句时,python就会自动调用a. add (b)。 对于上述例子中的v1+v2+v3,则相当于调用了(v1. add(v2)). add(v3)。
代码中还有一个在Python类定义经常使用的 __str__ 函数,当使用 str() 时会被调用。print函数对传入的参数都调用了str()将其转换成易读的字符串形式,便于打印输出,因而会调用类定义的__str__函数打出自定义的字符串。
代码中还有一个特殊的 __call__ 函数,该函数在将对象采用函数调用方式使用时被调用, 例如v1()相当于v1. call ()。
以上就是魔法函数的基本使用方法。常见的魔法函数我们可以使用 dir() 函数来查看。
输出结果为:
上述结果中形式为‘__函数名__’的函数为魔法函数,注意有些对象也是这种形式,例如__class__, __module__等, 这些不是魔法函数。具体的魔法函数说明可以参考Python官方说明文档。
以上代码在Python3.6运行通过.
Q5: python的内建函数和库函数的区别是什么?
【区别】:
标准库函数都需要import xxx才能取得。
内建函数都在__builtins__里面,在global里直接就能用。
【补充】:
1.python中,我们可以通过对内建的比较函数进行自定义,来实现运算符重载。
我们常用的比较运算符有
大于 对应的内建比较函数为 __gt__()
大于等于 = 对应的内建比较函数为 __ge__()
等于 == 对应的内建比较函数为 __eq__()
小于 对应的内建比较函数为 __lt__()
小于等于 = 对应的内建比较函数为 __le__()
2.库函数(Library function)是把函数放到库里,供别人使用的一种方式。.方法是把一些常用到的函数编完放到一个文件里,供不同的人进行调用。调用的时候把它所在的文件名用#include加到里面就可以了。一般是放到lib文件里的。
参考资料
百度.百度[引用时间2018-4-12]
关于python中函数重载吗和python有函数重载吗的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







