Python中變數名後面加冒號是什麼意思

2021-03-08 01:37:09 字數 2403 閱讀 5265

1樓:gta小雞

這是python 3.5中引入的type annotation,是一種註解,用來提示變數的型別。

用法是var: type = value

var為要定義的變數,type為該變數期待的型別,value為賦給該變數的值。

本質上和var = value是一回事,只是加上了var的型別說明。

型別註解是一種提示,並非強制的,python直譯器不會去校驗value的型別是否真的是type。

型別註解通常用在函式引數中,向函式的呼叫者提示引數型別:

def func(arg: int)

那麼呼叫者呼叫函式func時就知道引數arg應該是一個int型別。

2樓:放n賜

變數註釋的語法:註釋變數型別,明確指出變數型別,方便幫助複雜案例中的型別推斷。

var: type = value  其實本質上就是  var = value  # type就是var期望的型別

就像上一個人回答的那樣:型別註釋只是一種提示,並非強制的,python直譯器不會去校驗value的型別是否真的是type

例如:a: str = 10  這樣是沒有錯的,python直譯器在執行時會把a當作int來操作(type(a)——int)。

      這不像是 c 語言中 int a(a必須是int型別)。

還有一些使用時的注意事項:

1、省略初始值會使變數未初始化:a: str, print(a)  —— 丟擲 nameerror 異常

2、註釋區域性變數將導致直譯器始終使其成為區域性變數:

同一函式範圍內註釋受全域性或非本地變數是不允許的。

def fun():

global a

a: str = 'python'

print(a)

fun()

# 將丟擲錯誤資訊:syntaxerror: annotated name 'a' can't be global

# 即是 註釋變數 a 不能是全域性的。

3、型別註釋還可用於在類主體和方法中註釋類和例項變數。

4、註釋的目標可以是任何有效的單個賦值目標:d = {}, d['a']: str = ''python"——輸出d為字典 ;      d = ,  d[0]:

int = 10——輸出為列表[10]

注意:帶括號的名稱也被視為表示式,而不是簡單名稱。比如:(a): int = 0

更詳細的資訊可以參考:網頁連結

python中函式引數列表中使用的 冒號是幹什麼用的

3樓:pandan餃子

函式引數中的冒號是引數的型別建議

符,告訴程式設計師希望傳入的實參的型別。函式後回面跟著的箭頭是函式答返回值的型別建議符,用來說明該函式返回的值是什麼型別。

def twosum(num1: int, num2: int=100) -> int:

sum = num1 + num2 return sum

if __name__ == "__main__": print(twosum.__annotations__) print(twosum(1,2)) print(twosum(1)) print(twosum('i love ','arsenal')) #print(twosum('arsenal'))

4樓:哥倫比亞洛西西

字典(dict)的每個襲鍵值對()用冒號bai(:)分割,每個對之間用逗號(,)分割,整個字典包括在du花括號({})中 ,格式zhi如下所示:

d =鍵必須是唯一dao的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

列表(list)或序列(sequence)中的冒號與matlab用法類似,如

>>a = range(3)

>>a==a[0:3]

>>true

5樓:鄉巴佬放牛

def add(x:int,y:bool): # :int 並沒有卵用,python是動態型別,這裡寫成 y:bool 然後

專y=2並不觸發異屬常

return x+y

print(add(1,y=2)) # 3

6樓:匿名使用者

type hint,大概算是型別標記?

主要是為了靜態分析和重構用

然而 python 還是動態型別的,同時第三方庫的執行時型別檢查是由開發者實現的

總結一下就是並沒有什麼卵用

7樓:方冬員陽州

python函式的引數類似於c++中的形參,傳遞的只是引數的拷貝。

而函式的預設引數也會被儲存為一個變數,並且是全域性靜態變數。

spss中如何將變數命名,spss 中變數名稱如何進行批量修改

在 name 中改名字 在spss的視窗下方有兩個 按鈕 資料檢視 和 變數檢視 改變數的回名在在變數檢視裡面答 變數的名稱就在裡面改,但是變數的名字 型別 要數值的才能進行分析如果你要 標記 年齡 生存時間 就把這些字 放在 標籤 前面的變數名還是用字母 這樣分析的時候 就可以了 spss 中變數...

php中如何獲得變數名,PHP中如何獲得變數名

申請了變數,如下 var name var value function get variable name var,scope null tmp var var tmp exists mt rand name array search var,scope,true var tmp return n...

Matlab中,如果我要引用的變數名裡面含有變數,該如何引用

matlab裡的維度本來就不一定是固定的,你寫寫試試就知道了 其實我不是很明白樓主為什麼要把問題複雜化。樓主完全可以把需要的變數存入一個100維的向量l中,for迴圈中的語句就變為 l i l i i 用sprintf函式,比如 a 2 title sprintf diagramm for a d ...