如何在循环变量的循环中使用导入的函数?

时间:2017-06-14 12:42:34

标签: python bash

在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中输出此输出,将该函数放在一个文件中,将循环放在另一个文件中?

1 个答案:

答案 0 :(得分:3)

功能的一个要点是它们接受参数。在您的情况下,您应该定义函数,以便它接受i作为参数:

def py_function(i):
    print (i)

并在你打电话时传递它:

for i in list:
    py_function(i)