即x = int
當你將int分配給Python中的變量時,這意味着什麼?
我明白,這將使x
一個整數,如果它是不是已經一個,但我想了解這背後的過程。特別是,我想知道int
是什麼(而不是int()
)。我知道int()
是一個函數,但我不知道int
是什麼。鏈接到關於int
的文檔會很有幫助,因爲我找不到任何文檔。
即x = int
當你將int分配給Python中的變量時,這意味着什麼?
我明白,這將使x
一個整數,如果它是不是已經一個,但我想了解這背後的過程。特別是,我想知道int
是什麼(而不是int()
)。我知道int()
是一個函數,但我不知道int
是什麼。鏈接到關於int
的文檔會很有幫助,因爲我找不到任何文檔。
想象一下,你有一個功能叫做func
def func():
print("hello from func")
return 7
如果然後分配func
給x
要分配的功能本身到x
不通話
x = funC# note: no()
x() # calls func()
y = x() # y is now 7
的結果你正在尋找一個與int
相似的東西這個背景。
x = int
y = x('2') # y is now 2
爲這樣簡單的好例子投票!我從來沒有注意到它! –
我也建議,像int/float等基本的東西,這是一個非常糟糕的主意。它只會降低代碼的可讀性。 –
x = int
不會使x
變成一個整數。 int
是整數類型。做x = int
會將x
設置爲int
類型的值。鬆散地說,x
將成爲整數類型的「別名」。
如果你調用 INT類型的東西,如int('2')
,它會將你給的整數轉換爲整數(如果可以的話)。如果將該調用的結果分配給一個變量,它會將該變量設置爲您從調用int
獲得的整數值。因此,設置x = int('2')
將設置x
爲2.
您應該閱讀the Python tutorial以瞭解類型,變量和調用在Python中的工作方式。
好的問題跟着一個美麗的答案 – The6thSense
它是類似於C中的「* typedef *」嗎? –
@ d-coder:只有非常非常鬆散。在Python中,類型(和函數,幾乎所有的東西)都是第一類對象,就像整數,字符串和列表一樣。所以,Python不需要像'typedef'那樣的任何東西。你正在做的是爲同一個對象創建另一個名字。對象碰巧是一個類型的事實是無關緊要的;它與'x = 2'爲'2'對象創建另一個名稱沒有什麼不同。 – abarnert
「據我所知,如果它不是一個整數,這將使x成爲一個整數」 - 它不會。 – user2357112