C#中默认的Python等价

Nix*_*Nix 4 python python-2.7

有没有办法在python中获取类型默认值?

//C#
default(typeof(int))
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种更加pythonic的方式来获取类型默认值?

#python
if(isinstance(myObj, int):
    return 0
elif(isinstance(myObj, dict):
    return {}
else:
    return None
Run Code Online (Sandbox Code Playgroud)

显然我把它愚蠢了.我正在处理一些抽象的东西,当有人要求我没有的属性时,我基本上检查key-> type的映射并返回带有经典开关的默认实例.

Tho*_*s K 11

只是实例化它:

int()  # 0
dict() # {}
list() # []
Run Code Online (Sandbox Code Playgroud)

更多细节:Python中没有明确的"默认值"概念.只有使用默认参数实例化的类的实例.在实例化它们时,某些类可能需要参数,在这种情况下,实际上并没有默认值.