在 bash 中,我有一个文件“ function.sh
”:
_bash_function_() {
echo $i
}
和一个文件“ exec.sh
”
#!/bin/bash
. ./function.sh
range=(1 2 3)
for i in ${range[@]}; do
_bash_function_
done
这给出了输出:
1
2
3
在python中我有一个文件“ function.py
”:
def py_function():
print (i)
还有一个文件“ exec.py
”:
#!/opt/local/bin/python3
from function import *
list = ['1','2','3']
for i in list:
py_function()
这给出了一个错误:
NameError: name 'i' is not defined
但是,如果我在同一个文件中有函数和循环:
#!/opt/local/bin/python3
def py_function():
print (i)
list = ['1','2','3']
for i in list:
py_function()
输出是:
1
2
3
我怎样才能在 Python 中得到这个输出,函数在一个文件中,循环在另一个文件中?
函数的要点之一是它们接受参数。在您的情况下,您应该定义该函数,以便它接受i
作为参数:
def py_function(i):
print (i)
并在您调用它时传递它:
for i in list:
py_function(i)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句