是否天又一次给我的考验? 可是天会否低估我的力量和耐性了?|

TR_Goldfish

园龄:5年11个月粉丝:17关注:14

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实参,并不会报错,而是继续进行函数中的加法运算。如果传入的两个实参无法进行函数中规定的运算,则会正常报错。

本文作者:TR_Goldfish

本文链接:https://www.cnblogs.com/huzhengyu/p/16856415.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   TR_Goldfish  阅读(702)  评论(0编辑  收藏  举报
历史上的今天:
2021-11-04 东北大学校歌
2021-11-04 每周诗文鉴赏01-01-七绝·改西乡隆盛诗赠父亲
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 紅蓮華 LiSA
紅蓮華 - LiSA
00:00 / 00:00
An audio error has occurred.

LiSA - 紅蓮華

作词:LiSA

作曲:草野華余子

编曲:江口亮

強くなれる理由を知った

僕を連れて 進め

泥だらけの走馬灯に酔う

強張る心 震える手は

掴みたいものがある

それだけさ

夜の匂いに

I'll spend all thirty nights

空睨んでも

Staring into the sky

変わっていけるのは

自分自身だけ

それだけさ

強くなれる理由を知った

僕を連れて 進め

どうしたって消せない夢も

止まれない今も

誰かのために

強くなれるなら

ありがとう悲しみよ

世界に打ちのめされて

負ける意味を知った

紅蓮の華よ咲き誇れ

運命を照らして

稲光の雑音が耳を刺す

戸惑う心 優しいだけじゃ

守れないものがある

分かってるけど

水面下で絡まる善悪

透けて見える偽善に天罰

Tell me why tell me why

Tell me why tell me

I don't need you

逸材の華より

挑み続け咲いた

一輪が美しい

乱暴に敷き詰められた

棘だらけの道も

本気の僕だけに現れるから

乗り越えてみせるよ

簡単に片付けられた

守れなかった夢も

紅蓮の心臓に根を生やし

この血に宿ってる

人知れず

儚い散りゆく結末

無情に破れて

悲鳴の風吹く

誰かの笑う影

誰かの泣き声

誰もが幸せを願ってる

どうしたって消せない夢も

止まれない今も

誰かのために

強くなれるなら

ありがとう悲しみよ

世界に打ちのめされて

負ける意味を知った

紅蓮の華よ咲き誇れ

運命を照らして

運命を照らして