从另一个脚本调用的函数返回结果两次?

时间:2016-01-14 22:39:44

标签: python

有人可以告诉我为什么下面会在日志中打印ab两次吗?

主脚本:

from subscript import mytest

a = 1
b = 2

mytest()

子脚本:

def mytest():

    from mainscript import a, b

    print a
    print b

这里的逻辑方法是:

  1. 将下标导入主题。
  2. Main Script中声明A和B.
  3. 调用函数mytest()
  4. 打印A和B进行记录。
  5. 这是将A和B打印两次到日志,而不是一次。谁能告诉我为什么会这样?

    由于

1 个答案:

答案 0 :(得分:2)

您正在定义循环导入(主脚本导入下标,反之亦然)。处理此问题的正确方法是将ab作为参数传递给mytest()函数,因此子脚本不需要导入主脚本。所以你有你的主要scipr

from subscript import mytest
a = 1
b = 2
mytest(a, b)

你的下标会读到

def mytest(x, y):
    print x
    print y