在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中输出此输出,将该函数放在一个文件中,将循环放在另一个文件中?
答案 0 :(得分:3)
功能的一个要点是它们接受参数。在您的情况下,您应该定义函数,以便它接受i
作为参数:
def py_function(i):
print (i)
并在你打电话时传递它:
for i in list:
py_function(i)