1. 程式人生 > >python類的引數傳遞

python類的引數傳遞

在test2.py檔案中寫如下程式碼:

class Function():

    def ft1():        
        x = l/2
        return x

if __name__ =='__main__':
    for l in range(10):
        ans = Function.ft1()
        print(ans)

執行的結果為

0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5

上面定義了一個類Function,在類下定義一個函式,這個函式是帶有未定義引數ell的,而這個ell的賦值是在呼叫類的時候才用到,即for l in range(10):的時候。

當重新建立一個名為test3.py的檔案,想呼叫這個test2.py的檔案時,如下:

import test2

for l in range(10):
    ans = test2.Function.ft1()
    print(ans)

則會出現報錯:name ‘l’ is not defined
結論是:需要將ell作為引數放入函式中,否則test2.py和test3.py中認為ell不是同一個值。
修改如下:

#test2.py檔案
class Function():

    def ft1(l):        
        x = l/2
        return
x if __name__ =='__main__': for l in range(10): ans = Function.ft1(l) print(ans) #test3.py檔案 import test2 for l in range(10): ans = test2.Function.ft1(l) print(ans)