Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.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_Abstract Class_Python 3.6 - Fatal编程技术网

Python 创建不可实例化的类

Python 创建不可实例化的类,python,abstract-class,python-3.6,Python,Abstract Class,Python 3.6,简单的问题。使类无法实例化的最python的方法是什么 我知道这可以通过覆盖new _; new _;并在那里引发异常来实现。有更好的办法吗 我在看抽象类的方向。但是,我不会将这个类用作任何其他类的基类。并且不会在类中定义任何抽象方法 如果没有这些,抽象类在实例化时不会引发任何异常 我已经看过这个答案了。这不是我要找的。 编辑: 我知道这可能不是最好的方法,但这是我解决我需要的问题的方法。我认为这是一个简单的问题,可以有肯定+解释或否定答案。答案/评论基本上相当于,你不应该问这个问题毫无意义。

简单的问题。使类无法实例化的最python的方法是什么

我知道这可以通过覆盖new _; new _;并在那里引发异常来实现。有更好的办法吗

我在看抽象类的方向。但是,我不会将这个类用作任何其他类的基类。并且不会在类中定义任何抽象方法

如果没有这些,抽象类在实例化时不会引发任何异常

我已经看过这个答案了。这不是我要找的。

编辑:


我知道这可能不是最好的方法,但这是我解决我需要的问题的方法。我认为这是一个简单的问题,可以有肯定+解释或否定答案。答案/评论基本上相当于,你不应该问这个问题毫无意义。

你所追求的是能够称之为math.sinx之类的东西,对吗

你把它变成一个静态的方法。你只是不做任何实例

@staticmethod
def awesome_method(x): return x
如果你在想为什么你不能做a=数学 因为数学不是一门课。它是一个单独的脚本,包含所有这些函数

因此,您可能希望制作一个包含所有静态内容的单独脚本


如果希望所有内容都在同一个脚本中,那么它只是局部变量。如果你像我一样,你希望他们能正确地组织课程,看起来你最好只创建一个普通的类,并创建一个实例

这样一个类的用例是什么?这不是课程的用途。将这些方法放在一个模块中。这不是java!如果您只想将名称空间添加到一组函数中,为什么不将它们作为函数保留在模块中呢。您可以通过模块名访问函数。定义抽象类是完全可能的,但您并不是在询问它们。你问的是一个荒谬的类,因为没有什么类能像你想如何使用它那样。你问的是在命名空间下对函数进行分组的最具python风格的方法。人们回答说,pythonic的解决方案是将它们放在一个模块中。唯一的另一个可能的答案是,没有最具python风格的方法,因为你所说的甚至不是一个类。不,我是在寻找一个无法实例化的类。我知道staticmethod选项,这不是我需要/想要的。好吧,你新的提高错误的方法是唯一的方法。告诉我,为什么你需要它是不可辩驳的?你会尝试实例化它吗?如果你。。。只是知道。。。你能举例说明吗?我想说的是,继续编写你需要的代码。或者告诉我们你在编码什么,需要一个不可实例化的类。是的,我也不需要一个单例。我只是问一个问题,如果答案是否定的,那么“新”覆盖是唯一的方法,这是一个足够好的答案。我不明白为什么人们会继续试图说服我不需要或不应该这样做,在我声明我理解这种情况并希望这样做之后。我理解这种情况,在java中,我自己使用了一些静态类、方法和字段。这很好,也很简单。但是python就是这样。你只是问了一个毫无意义的问题。如何使它不能实例化。谁会需要这个?如果你一开始不打算实例化?您知道如何创建静态变量和模块。这还不够好吗?并不是所有的语言都是一样的。因为这个特别简单的问题,是一个毫无意义的问题。我问过你是否在找math.sinx之类的东西,你说,不,我在找一个无法实例化的类。。。这不是我需要/想要的。那么你的目标是什么呢?你还没说。你在浪费自己和别人的时间。你想要什么,一扇无法打开的门?接下来你会做什么?如果你有答案的话?