Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.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
为什么在Python中使用静态类考虑不良操作_Python - Fatal编程技术网

为什么在Python中使用静态类考虑不良操作

为什么在Python中使用静态类考虑不良操作,python,Python,在C#等编译语言中,使用静态方法创建静态实用程序类是非常常见的。但在python中,通常的做法是使用裸函数,而不使用类。为什么? 首先,Python不提供静态类(也不提供最终或抽象*类),只提供“默认”类。 使用静态方法创建类并不常见的原因是,由于python是基于,因此更倾向于“像静态类一样使用模块”,因为它更自然、更具python风格。 例如,考虑随机模块,您这样使用: import random random.choice([1, 2, 3]) 没有RandomUtils类,就像它是J

在C#等编译语言中,使用静态方法创建静态实用程序类是非常常见的。但在python中,通常的做法是使用裸函数,而不使用类。为什么?

首先,Python不提供
静态
类(也不提供
最终
抽象
*类),只提供“默认”类。 使用静态方法创建类并不常见的原因是,由于python是基于,因此更倾向于“像静态类一样使用模块”,因为它更自然、更具python风格。 例如,考虑<代码>随机模块,您这样使用:

import random

random.choice([1, 2, 3])
没有
RandomUtils
类,就像它是Java或类似的语言一样。。。这将是非常无用的

  • 使用模块可以创建抽象类

那么为什么只使用静态方法的类呢?在Python中,开销会给您带来什么好处?静态类是一个不能使用裸函数的工作环境,那么为什么要在不需要它的地方使用工作环境呢?换句话说,问题是相反的。为什么在C#中这样做很常见?