2016-04-12 72 views
-4
class main_prg: 
     def func(): 
      # code that generates x and y 
      return x,y 
     def func1(x): 
      #uses the value of x that is returned from func() 
      z=x+3 
      return z 

如何將x傳遞給func1()將函數結果作爲輸入參數傳遞給類中的函數

我已經試過

m=main_prg() 
f01,f11 = m.func() 
f2 = m.func1(f01) 

引發我一個錯誤func1() takes exactly 1 argument (2 given)

+0

那麼我們不能在這裏重現該問題。這應該按原樣工作。 – deceze

+0

您正在使用一個參數調用'func1(f01)',函數也是用一個參數('x')定義的,這樣錯誤就沒有意義了。 –

+0

如果這些函數是在一個類中?是否有機會獲得上述錯誤? –

回答

0

這應該給你你想要的輸出。您必須將self添加到課程中的每個功能。

class main_prg: 
     def func(self): 
      # code that generates x and y 
      x = 1 # whatever 
      y = 2 # whatever 
      return x,y 
     def func1(self, x): 
      #uses the value of x that is returned from func() 
      z = 3 # whatever 
      return z 

m = main_prg() 
f01,f11 = m.func() 
print f01 
print f11 
f2 = m.func1(f01) 
print f2 
  • f01打印1
  • f11打印2
  • f2打印3
+0

如何在func1()中使用x的值?那是self.x嗎?或者只是x –

+0

如果將其定義爲'x',它將只在您定義的方法內部工作,在本例中爲'func'。如果你將它定義爲'self.x',它將適用於該類的所有功能。 –

+0

如果你不使用'self',你可能想用'@ staticmethod'來裝飾方法。 – deceze

相關問題