在Python中居然可以定义两个同名通参数的函数

yipeiwu_com7年前Python基础

一个意外的场景,我发现Python模块中是可以定义相同的名称和参数的函数的,

Python 定义两个同名通参数的函数

虽然在eclipse中报错了,但是执行时没有问题的,这个是IDE的问题。

其中的含义是因为第一个函数原本由test指向,然后解释器解析到第二个test函数时,相当于test指向了第二个函数,

那么调用test()时,执行的是第二个函数内容。

最近发现python更加灵活和自由,但是需要知道其中的原理,不然会输出莫名其妙的结果。

以上这篇在Python中居然可以定义两个同名通参数的函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python读取中文txt文本的方法

对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,...

Python合并多个装饰器小技巧

django程序,需要写很多api,每个函数都需要几个装饰器,例如 复制代码 代码如下: @csrf_exempt  @require_POST  def&nbs...

python通过pil为png图片填充上背景颜色的方法

本文实例讲述了python通过pil为png图片填充上背景颜色的方法。分享给大家供大家参考。具体分析如下: png图片有些是没有背景颜色,如果希望以单色(比如白色)填充背景,可以使用下面...

解决python删除文件的权限错误问题

使用os.remove删除文件,总是遇到错误:PermissionError: WinError 找了很久没找到什么原因,以为是windows系统的问题,最后发现是删除了一个没有关闭的文...

详解Python中的序列化与反序列化的使用

学习过marshal模块用于序列化和反序列化,但marshal的功能比较薄弱,只支持部分内置数据类型的序列化/反序列化,对于用户自定义的类型就无能为力,同时marshal不支持自引用(递...