python中類內部的函式可以互相呼叫嗎

2021-03-04 08:30:09 字數 4360 閱讀 4742

1樓:知儻軇硜

可以呼叫,比如下面,***mon_func被多個函式呼叫。 class myclass: def __init__(self):

pass def func1(self): # do something self***mon_func() def func2(self): # do something self***mon_func() def ***mon_func(self):

passpython中類內部的函式可內

以互相呼叫嗎?容

2樓:

可以把變數設定為全域性變數:def fun1(): global var1 ...def fun2(): global var1

python中怎麼在一個函式內呼叫另外一個函式,類

3樓:流氓大皇

1,如果呼叫在另外一個.py裡面的函式,先匯入**.py,然後呼叫2,如果在本py裡面,則把要呼叫的函式放在前面,直接呼叫,例如:

def sum(a, b):

return a + b

c = sum(5, 6)

4樓:匿名使用者

如果是同一包裡面,直接就可以使用,如果不是同一個包,那麼需要先import後,通過「包名.類名」才能使用。

下面是同一個包裡面的案例:

def a():

print(1)

def b():

a()print (2)b()

5樓:踏雪三郎

今天遇到同樣的問題,就來答一波吧

1,如果是在類中,那麼就很簡單了,類中的一個函式呼叫另一個函式,只要在那個被呼叫的函式前加self即可(圖如下,詳細可以參考筆者部落格),

2,如果不是在類中,(這是筆者遇到的問題),有一個簡單的方法,如下sin_f函式呼叫sin函式(注:a=sin()不能寫到sin_f()函式下,會說a沒宣告就呼叫):

3,如果是已經存在的包,那麼呼叫包更簡單了,(同樣可以參考筆者上面給的那個部落格第四部分)

4,最後,更多關於python問題可以參考筆者的python教程筆記

python怎麼在類裡面的一個函式裡面呼叫另一個函式,直接寫函式名並不行?

6樓:志祥羅志祥

在函式名前加self.

也就是self.函式名的形式去呼叫

python 在類中如何讓方法之間互相呼叫

7樓:碧血玉葉花

python 在類中方法之間互相呼叫的方法:

>>> class op():

... def __init__(self,p):

... self.p=p... def re(self):

... self.p+=1... def s(self):

... self.re()... print self.p...>>> vb=op(2)

>>> vb.s

>>>> vb.s()

3>>>

8樓:匿名使用者

>>> class op():

... def __init__(self,p):

... self.p=p... def re(self):

... self.p+=1... def s(self):

... self.re()... print self.p...>>> vb=op(2)

>>> vb.s

>>>> vb.s()

3>>>

9樓:匿名使用者

self.方法名()

python中怎麼在一個函式內呼叫另外一個函式,類

10樓:秀才周曄

方案如下:

將另一個py做成一個包,或者直接和呼叫檔案放在同一個目錄下;

在呼叫者檔案頭引入:from py名字 import *;

這樣就可以使用另一個py檔案的所有函式了。

分享本回

python中可以直接用類呼叫方法嗎

11樓:

這裡先肯定的回答一下:可以

python裡方法在類中是作為類的屬性的,在解釋之前,這邊先給個例子

>>>class pizza(object):

...    radius = 42

...    def __init__(self, size=10):

...        self.size = size

...    def get_size(self):

...        return self.size

...    @staticmethod

...    def mix_ingredients(x, y):

...        return x + y

...    def cook(self):

...        return self.mix_ingredients(self.cheese, self.vegetables)

...    @clas**ethod

...    def get_radius(cls):

...        return cls.radius

>>> pizza.get_size

>>> pizza.get_size()

traceback (most recent call last):

file "", line 1, in

typeerror: unbound method get_size() must be called with pizza instance as first argument (got nothing instead)

>>> pizza.get_size(pizza(42))

42>>> pizza(42).get_size

>>>> pizza(42).get_size()

42>>> m = pizza(42).get_size

>>> m()

42>>> m = pizza(42).get_size

>>> m.__self__

<__main__.pizza object at 0x7f3138827910>

>>> m == m.__self__.get_size

true

>>> pizza().cook is pizza().cook

false

>>> pizza().mix_ingredients is pizza.mix_ingredients

true

>>> pizza().mix_ingredients is pizza().mix_ingredients

true

>>> pizza.get_radius

>>>> pizza().get_radius

>>>> pizza.get_radius is pizza().get_radius

true

>>> pizza.get_radius()

42在上面的例子中可以看出python中類有三種方法,分別是類方法,靜態方法,例項方法。而能讓類只接呼叫的只有類方法,或通過一些小技巧,類也可以呼叫例項方法如上面例子中的呼叫

>>> pizza.get_size(pizza(42))

42這邊順便說明下這三中方法的區別

1類方法的特點是類方法不屬於任何該類的物件,只屬於類本身

2類的靜態方法類似於全域性函式,因為靜態方法既沒有例項方法的self引數也沒有類方法的cls引數,誰都可以呼叫

3.例項方法只屬於例項,是例項化的物件才能呼叫

12樓:小熙

1、如果你需要用例項來呼叫你的方法,那麼在定義方法的時候,一定要把第一個引數設定成為self;

2、如果你需要使用靜態方法,那麼你需要在方法前面加上@staticmethod修飾符;

3、如果要使用類方法,那麼你需要在方法前面加上@clas**ethod修飾符,並且在方法中至少使用一個引數,第一個引數在方法中的作用就是代表改類本身。

13樓:匿名使用者

不可以類是一個描述性的東西 不是一個具象的東西 它不能做任何事情 包括呼叫方法

類的例項才是一個具有行為能力的東西 因此只有例項化之後才能呼叫方法

python類的函式如何呼叫另類中函式的返回值

可以呼叫,比如下面,mon func被多個函式調版用。權 class myclass def init self pass def func1 self do something self.mon func def func2 self do something self.mon func def ...

python中怎麼在函式內呼叫另外函式類

1,如果呼叫在另外一個.py裡面的函式,先匯入 py,然後呼叫2,如果在本py裡面,則把要呼叫的函式放在前面,直接呼叫,例如 def sum a,b return a b c sum 5,6 如果是同一包裡面,直接就可以使用,如果不是同一個包,那麼需要先import後,通過 包名.類名 才能使用。下...

python中構建了類在定義了函式時為什麼

物件呼叫bai方法時,實際 du上是通過類呼叫zhi的 a muffedcalculator a.calc expr 實際上是這樣 dao呼叫專的 muffledcalculator.calc a,expr 這樣self 就是 a,python隱含地把a 傳進方法屬 替代了self,就成了繫結的方法...