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别担心!玩得开心:)