Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3-类型的默认值的默认关键字?_Python_Python 3.x - Fatal编程技术网

Python3-类型的默认值的默认关键字?

Python3-类型的默认值的默认关键字?,python,python-3.x,Python,Python 3.x,Python3是否有类似于.NET的功能?也就是说,给定一个类型,它会生成该类型的值,该值通常被称为该类型的默认值。例如: 默认值(int)为0 默认值(十进制)为0.0 默认值(MyCustomClassType)为null 我希望这样的事情已经存在,因为我希望预处理pandas数据帧中的值,并用0替换整数列中的NaN等,并且避免编写我自己的函数(为每种可能的类型都包含一个巨大的开关,以模仿我前面在.NET中演示的行为) 任何指点都将不胜感激。多谢各位 如注释中所述,Python类型,如int

Python3是否有类似于.NET的功能?也就是说,给定一个类型,它会生成该类型的值,该值通常被称为该类型的默认值。例如:

默认值(int)
0

默认值(十进制)
0.0

默认值(MyCustomClassType)
null

我希望这样的事情已经存在,因为我希望预处理pandas数据帧中的值,并用0替换整数列中的NaN等,并且避免编写我自己的函数(为每种可能的类型都包含一个巨大的开关,以模仿我前面在.NET中演示的行为)


任何指点都将不胜感激。多谢各位

如注释中所述,Python类型,如
int
float
str
list
等都是可调用的,即,您可以使用
int()
获取
0
,或者
str()
list()
获取空字符串或列表

>>> type(42)()
0
这同样适用于
numpy
类型。您可以使用
dtype
属性获取numpy数组的类型,然后使用该属性初始化“缺失”值:

这也适用于提供无参数构造函数的其他类,但是,结果将是该类的一个实例,而不是您的示例中的
null

>>> class Foo(object): pass
>>> type(Foo())()
<__main__.Foo at 0x7f8b124c00d0>
>>类Foo(对象):传递
>>>类型(Foo())()

int()
默认返回
0
,而
float()
默认返回
0.0
。这有用吗?@idjaw,
x=something或int()
不能满足同样的需求吗?太好了,正是我想要的,谢谢。
>>> class Foo(object): pass
>>> type(Foo())()
<__main__.Foo at 0x7f8b124c00d0>