簡體   English   中英

我可以在 Python 中使用變量名“type”作為函數參數嗎?

[英]Can I use the variable name “type” as function argument in Python?

我可以使用type作為 python 函數參數的名稱嗎?

def fun(name, type):
    ....

你可以,但你不應該。 使用內置函數的名稱不是一個好習慣,因為它們會覆蓋該范圍內的內置函數的名稱。 如果您必須使用該詞,請針對給定的上下文稍微修改它。

雖然對於不使用type的小項目來說可能無關緊要,但最好不要養成使用關鍵字/內置函數名稱的習慣。 如果您絕對必須使用與關鍵字沖突的名稱,則Python 樣式指南為此提供了解決方案:

single_trailing_underscore_ :按照慣例使用以避免與 Python 關鍵字沖突,例如

Tkinter.Toplevel(master, class_='ClassName')

你可以,這很好。 盡管不要隱藏內置函數的建議很重要,但如果標識符是通用的,它會更有效,因為它會增加混淆和沖突。 看起來type不會在這里引起混淆(但你會比其他人更了解這一點),我可以完全使用你所擁有的。

您可以使用任何非關鍵字作為標識符(當然,只要它是有效的標識符)。 type不是關鍵字,但使用它會影響內置type

你可以,但你會屏蔽內置的名稱類型。 所以最好不要這樣做。

您可以為此使用_type 例如:

def foo(_type):
    pass

如果使用type ,則不能在該函數中使用type() 例如:

>>> type('foo')
<type 'str'>
>>> type = 'bar'
>>> type('foo')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: 'str' object is not callable

暫無
暫無

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

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