Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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 调用类中其他地方_init__内编写的函数_Python_Python 3.x_Class_Oop_Init - Fatal编程技术网

Python 调用类中其他地方_init__内编写的函数

Python 调用类中其他地方_init__内编写的函数,python,python-3.x,class,oop,init,Python,Python 3.x,Class,Oop,Init,假设我有一门课: class Testclass: def __init__(self, key) self.key = key def function(self, key): do something ... 我是否可以专门调用函数,而不调用整个\uuuu init\uuuu在Testclass方法中的某个位置 我之所以需要它,是因为我在\uuuu init\uuu中有两个函数,并且我需要分别使用它们

假设我有一门课:

class Testclass:
      def __init__(self, key)
          self.key = key


          def function(self, key):
              do something ... 

我是否可以专门调用
函数
,而不调用整个
\uuuu init\uuuu
在Testclass方法中的某个位置

我之所以需要它,是因为我在
\uuuu init\uuu
中有两个函数,并且我需要分别使用它们


或者也许我从一开始就做错了,所以任何其他的建议都是受欢迎的

不可以,因为这些函数是
\uuuu init\uuu
的本地函数。你为什么不让他们成为这门课的方法呢

class Testclass:
  def __init__(self, key)
      self.key = key
      result = self.function(key)

  def function(self, key):
      do something ... 

你不能。它是一个函数范围的函数,仅在其内部可用。如果您在外部需要它们,请将它们声明为该类的成员函数。@Torred well我尝试过并得到AttributeError,即没有属性“function”我最初的问题是,在初始化之后,我需要一个处于最大堆状态的随机列表,所以我在init中编写了heapify和buildHeap函数,但我需要稍后在HeapSort方法中调用它们。是的,这是一项任务。看我上面的评论,为什么我不能作为方法来写。我需要在未来取得一些成就init@Leonardo你可以从init(见我的编辑)中调用该函数,这是我的第一直觉,我尝试过,但我得到了一个错误,函数没有定义,或者是类似于这些行的东西,尽管我可能犯了语法错误。。。让我再试一次。是的,成功了,我一定是把赛尔夫的东西搞砸了。。。我刚开始OOP。。。TY@Leonardo别担心!玩得开心:)