簡體   English   中英

Python中的函數參數轉換

[英]Function Parameter Conversion in Python

重新表述我的問題如下:

當輸入整數作為輸入時,當參數無法轉換為字符串時,告訴參數是字符串有什么意義?

我知道我們可以使用 str() 將整數轉換為字符串,但這不是我正在尋找的答案。


通過在參數中輸入 gss 運行代碼后,我收到了 1。但是,當我查找此結果的類型時,它顯示為 NoneType。

為什么這不是字符串?

gss=1
convert_gss_to_str(gss)
1
type(convert_gss_to_str(gss))
Nonetype

我運行以下代碼認為整數 1 將被轉換為字符串 '1'。

但是,我收到此錯誤:TypeError: convert_gss() missing 1 required positional argument: 'gss'

任何建議我做錯了什么?

gss = 1

def convert_gss_to_str(gss: str):
    print(gss)

convert_gss_to_str()
def convert_gss_to_str(gss: str):
    print(gss)

此函數采用一個非可選參數gss並且不返回任何內容,因此其返回類型為Nonetype 如果您想進行實際轉換,您可以使用 Sawel 建議的內置函數str()

print()不需要類型轉換,因為它無論如何都會打印整數

def convert_gss_to_str(gss: str):
    ...

這只是一個類型提示

有關更多信息,請閱讀PEP484

雖然這些注釋在運行時通過通常的annotations屬性可用,但在運行時不會進行類型檢查。 相反,該提案假設存在一個單獨的離線類型檢查器,用戶可以自願運行其源代碼。 本質上,這樣的類型檢查器充當了非常強大的 linter。

只需使用內置函數str

>>> gss = 1
>>> str(gss)
"1"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM