Python 函数参数有冒号 声明后有- 箭头
在python3.7 環(huán)境下 函數(shù)聲明時(shí)能在參數(shù)后加冒號(hào),如圖:
def f(ham: str, eggs: str = 'eggs') -> str :print("Annotations:", f.__annotations__)print("Arguments:", ham, eggs)return ham + ' and ' + eggsprint(f("test","abc"))可能有疑問,python不是動(dòng)態(tài)類型語言 ,難不成還能指定參數(shù)類型?
來看一下打印結(jié)果:
但同時(shí)也確實(shí)能傳其他類型的值 如:f(“test”,123)
那結(jié)果如何呢? 如下:
當(dāng)然會(huì)報(bào)錯(cuò)了啊,返回值是一個(gè)字符串,int型不能參與字符串拼接,那參數(shù)后寫一個(gè):str 和 ->str是什么意思呢?
在官方文檔指明.__annotations__是函數(shù)的參數(shù)注釋和返回值注釋:
所以打印出Annotations: {‘ham’: <class ‘str’>, ‘eggs’: <class ‘str’>, ‘return’: <class ‘str’>}
其實(shí)并沒有指定類型 只是寫函數(shù)的人提醒用函數(shù)的人最好傳什么類型的參數(shù),因?yàn)樽詈笮枰獌蓚€(gè)參數(shù)進(jìn)行字符串拼接;
當(dāng)然,也可以直接寫字符串提醒:
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def f(ham: "傳一個(gè)字符串", eggs: str = 'eggs') -> str :print("Annotations:", f.__annotations__)print("Arguments:", ham, eggs)return ham + ' and ' + eggsprint(f("test",123))而聲明函數(shù)后那個(gè)箭頭:"->" 是返回值的注釋,-> str 意思即是提醒函數(shù)使用者返回值會(huì)是一個(gè)str型。
總結(jié)
以上是生活随笔為你收集整理的Python 函数参数有冒号 声明后有- 箭头的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python和C语言互相调用的几种方式
- 下一篇: websocket python爬虫_p