Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释
生活随笔
收集整理的這篇文章主要介紹了
Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在python3.7 環境下 函數聲明時能在參數后加冒號,如圖:
1 def f(ham: str, eggs: str = 'eggs') -> str :
2 print("Annotations:", f.__annotations__)
3 print("Arguments:", ham, eggs)
4 return ham + ' and ' + eggs
5
6 print(f("test","abc")) 可能有疑問,python不是動態類型語言 ,難不成還能指定參數類型?
來看一下打印結果:
但同時也確實能傳其他類型的值 如:f("test",123)
那結果如何呢? 如下:
當然會報錯了啊,返回值是一個字符串,int型不能參與字符串拼接,那參數后寫一個:str 和 ->str是什么意思呢?
在官方文檔指明.__annotations__是函數的參數注釋和返回值注釋:
所以打印出Annotations: {'ham': <class 'str'>, 'eggs': <class 'str'>, 'return': <class 'str'>}
其實并沒有指定類型 只是寫函數的人提醒用函數的人最好傳什么類型的參數,因為最后需要兩個參數進行字符串拼接;
當然,也可以直接寫字符串提醒:
def f(ham: "傳一個字符串", eggs: str = 'eggs') -> str :print("Annotations:", f.__annotations__)print("Arguments:", ham, eggs)return ham + ' and ' + eggsprint(f("test",123)) ?而聲明函數后那個箭頭:"->" 是返回值的注釋,-> str 意思即是提醒函數使用者返回值會是一個str型
總結
以上是生活随笔為你收集整理的Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python type hints 之
- 下一篇: 全面理解Python中的类型提示(Typ