2011-06-20 84 views
4

有沒有在python中獲得類型默認值的方法?在C#中的默認Python等價物#

//C# 
default(typeof(int)) 

我正在尋找更pythonic的方式來獲取類型默認值?

#python 
if(isinstance(myObj, int): 
    return 0 
elif(isinstance(myObj, dict): 
    return {} 
else: 
    return None 

顯然我把它弄昏了。我正在處理一些抽象的事情,當有人要求我沒有的屬性時,我基本上檢查key-> type的映射,並用經典開關返回默認實例。

+1

實例化一個:'int()'給你0 –

回答

11

只是實例吧:

int() # 0 
dict() # {} 
list() # [] 

更多細節:有Python中的「默認值」中沒有明確的概念。只有一個用缺省參數實例化的類的實例。當你實例化一些類時,有些類可能會有參數,在這種情況下,並沒有真正的默認值。

+0

+1令人尷尬的簡單。 – Nix

3

如何:

type(myObj)() 

它適用於int和字典。