首页 > 编程语言 > Python函数参数中的 : 以及 ->

Python函数参数中的 : 以及 ->

时间:2022-11-04 02:00:51浏览次数:61  
标签:__ 函数 twoSum Python 以及 函数参数 参数 类型 实参

一些python函数中,参数后面有冒号,函数后面还有箭头,这是什么含义呢?

函数参数中的冒号是参数的类型建议符,告诉函数调用者希望传入的实参的类型。函数后面跟着的箭头是函数返回值的类型建议符,用来说明该函数返回的值是什么类型

官方的解释是type hints,是Python 3.5新加的功能,作用如上所述,官方文档为 :https://www.python.org/dev/peps/pep-0484/

值得注意的是,类型建议符并非强制规定和检查,也就是说即使传入的实际参数与建议参数不符,也不会报错。类型建议符的作用更多的体现在软件工程方面:在多人合作的时候,我们对他人开发的代码并不熟悉,没有对类型的解释说明的话,往往需要花费更多的时间才能看出函数的参数和返回值是什么类型,有了说明符,可以方便程序员理解函数的输入与输出,在具体工作中,例如静态分析与代码重构,会更加高效。

下面以一个简单的函数twoSum为例,该函数计算的是两个输入参数的和:

def twoSum(num1: int, num2: int=100) -> int:
    sum = num1 + num2
    return sum    

if __name__ == "__main__":
    print(twoSum.__annotations__)
    print(twoSum(10,20))
    print(twoSum(1))
    print(twoSum('I love ','coding'))
{'num1': <class 'int'>, 'num2': <class 'int'>, 'return': <class 'int'>}
30
101
I love coding

几点解释:

  • 第一行输出中的__annotations__是函数的保留属性,保存的是函数声明中的注释内容,比如我们使用的对参数"num1","num2"和返回值的建议类型。
  • 第二行输出是正常用法。
  • 第三行输出验证了,未传入实参时,该参数获得的默认值
  • 第四行输出则验证了该解释说明符并非强制检查,我们传入了两个str实参,并不会报错,而是继续进行函数中的加法运算。如果传入的两个实参无法进行函数中规定的运算,则会正常报错。

标签:__,函数,twoSum,Python,以及,函数参数,参数,类型,实参
From: https://www.cnblogs.com/huzhengyu/p/16856415.html

相关文章

  • ipython 的感叹号、问号的使用
    目录使用感叹号!运行Shell命令使用一个感叹号!运行赋值编码使用两个感叹号!!运行编码赋值注意使用问号?获取帮助使用一个问号?使用两个问号??使用*做模糊查询......
  • Python3爬虫豆瓣电影TOP250将电影名写入到EXCEL
    大家好,我是你们的老朋友泽哥,最近在学习Python3.6,于是兴起写了个小小的爬虫今天我们要爬取得页面是豆瓣电影TOP250,连接如下:​​http://movie.douban.com/top250?start=0&filt......
  • windows10安装dlib+python3.9
     1、whl安装注意,仅支持特定版本,请检查pip所支持的版本是否一致dlib-19.23.0-cp39-cp39-win_amd64.whlhttps://gitee.com/billyme/python-dlib/raw/master/dist/dlib-......
  • 3.9 使用Python操作Excel表格的样式1
    #获取表格单元格,修改字体样式修改字体样式 Font(name=字体名称,size=字体大小,bold=是否加粗,italic=是否斜体,color=字体颜色)获取表格中字体的样式cell.font.属性......
  • python 迭代器
    #迭代:当前执行依赖于上一次执行结果,可迭代对象内置了__iter__()方法的,就是可迭代对象基本数据类型中,属于可迭代对象的有:字典、列表、元组、集合、字符串、......
  • python描述 LeetCode 1486. 数组异或操作
    python描述LeetCode1486.数组异或操作  大家好,我是亓官劼(qíguānjié),在【亓官劼】公众号、GitHub、B站、华为开发者论坛等平台分享一些技术博文,主要包括前端开发、......
  • Python获取当前运行函数的名称、类方法名称
    获取函数的名称在函数外部获取函数的名称,可以使用.__name__来获取。deftest_func_name1(): print('test')func_name1=test_func_name1.__name__print(func_name1......
  • 用Docker搭建Python环境
    步骤1创建项目目录$cd/PATH/TO$mkdirpython-demo2下载python镜像1#下载镜像2dockerpullpython:3.834#查看镜像5dockerimages3创建pytho......
  • Python第九章实例
    01       02    03    04   ......
  • 冒泡排序以及数组名相关内容
    voidbubble_sort(intarr[],intsz)//冒泡排序{inti=0;//确定冒泡排序的次数for(i=0;i<sz-1;i++){intflag=1;//假设这一趟要排序的数据已经全部......