[英]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.