自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python中的函數(shù)注釋:參數(shù)有冒號,聲明后有-> 箭頭

開發(fā) 后端
Python 3.X新增加的一個特性,叫作函數(shù)注釋 Function Annotations。它的用途雖然不是語法級別的硬性要求,但是顧名思義,它可作為函數(shù)額外的注釋來用。他的用法也很簡單。

[[375846]]

 我在查看python的fixture源碼時發(fā)現(xiàn) fixture的方法定義形式如下:

  1. def fixture( 
  2.     fixture_function: Optional[_FixtureFunction] = None, 
  3.     *, 
  4.     scope: "Union[_Scope, Callable[[str, Config], _Scope]]" = "function"
  5.     params: Optional[Iterable[object]] = None, 
  6.     autouse: bool = False
  7.     ids: Optional[ 
  8.         Union
  9.             Iterable[Union[None, str, floatint, bool]], 
  10.             Callable[[Any], Optional[object]], 
  11.         ] 
  12.     ] = None, 
  13.     name: Optional[str] = None, 
  14. ) -> Union[FixtureFunctionMarker, _FixtureFunction]: 

 我頓時有些凌亂,不知這是什么東東,經(jīng)過各種網(wǎng)上查找資料,發(fā)現(xiàn)這是Python 3.X新增加的一個特性,叫作函數(shù)注釋 Function Annotations。它的用途雖然不是語法級別的硬性要求,但是顧名思義,它可作為函數(shù)額外的注釋來用。他的用法也很簡單。

在python中定義普通的函數(shù),方法如下:

  1. def f1(a,b): 
  2.     return a+b 

 通過函數(shù)注釋,方法定義如下:

  1. def f2(a: "str類型參數(shù)a", b: "str類型參數(shù)b") -> str: 
  2.     print("Annotations:", f2.__annotations__) 
  3.     return a+b 

 其中

  • a: "str類型參數(shù)a"代表了對參數(shù)a的說明
  • b: "str類型參數(shù)b"代表了對參數(shù)b的說明
  • -> str:代表了函數(shù)的返回值
  • f2.__annotations__查看函數(shù)的注釋說明

運(yùn)行 print(f2('aa','bb')),輸出:

  1. Annotations: {'a''str類型參數(shù)a''b''str類型參數(shù)b''return': } 

aabb

那么定義了函數(shù)的參數(shù)類型和返回值類型我們是否就不可以對其進(jìn)行修改了呢,讓我們做如下嘗試:

print(f2(1,2)),輸出:

  1. Annotations: {'a''str類型參數(shù)a''b''str類型參數(shù)b''return': } 

可見, Function Annotations它的作用僅僅是為函數(shù)進(jìn)行注釋來用,并不能指定參數(shù)類型。

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2020-12-16 09:47:01

JavaScript箭頭函數(shù)開發(fā)

2025-02-12 10:51:51

2011-05-30 16:11:46

Javascript

2021-03-29 15:32:31

Python函數(shù)參數(shù)

2023-11-08 14:41:12

Python函數(shù)

2025-03-19 10:26:12

Python參數(shù)開發(fā)

2021-03-03 10:00:52

Python函數(shù)Python基礎(chǔ)

2009-08-20 10:34:46

C#中聲明API函數(shù)

2010-11-08 14:47:02

Powershell函數(shù)

2009-07-01 13:54:03

JSP注釋

2010-02-22 16:51:03

Python 解析器

2024-03-04 22:35:07

Currying類型函數(shù)

2021-09-22 08:47:09

Windows 11操作系統(tǒng)微軟

2021-06-28 08:01:57

JS 函數(shù)表達(dá)式函數(shù)聲明

2020-02-11 14:14:52

this函數(shù)

2024-02-22 12:18:16

Python函數(shù)用法

2020-02-17 10:34:04

箭頭函數(shù)開發(fā) JavaScript

2023-03-09 16:39:23

Python傳遞參數(shù)

2009-12-24 14:30:56

VB.NET

2025-03-12 08:45:15

函數(shù)聲明函數(shù)表達(dá)式IIFE
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號