python類的引數傳遞
阿新 • • 發佈:2019-01-23
在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)