python中的全局数组打印

时间:2016-05-06 14:00:13

标签: python python-2.7

我正在尝试以这种方式在python中打印数组:

ord = []
def printTest():
    global ord
    print ', '.join(ord)


def main():
    ord = ["a","b"]
    printTest()

main()

但它只打印一个新行。我该如何解决这个问题?

谢谢!

3 个答案:

答案 0 :(得分:2)

我认为你在main方法中缺少$(files)

答案 1 :(得分:2)

使用global作为主要功能:

def printTruthTable():
    print ', '.join(ord)


def main():
    global ord
    ord = ["a","b"]

main()
printTruthTable()

但是好的做法看起来像这样:

def TruthTable(ord):
    return ', '.join(ord)

def main():
    # some code
    return ["a","b"]

print TruthTable(main())

答案 2 :(得分:1)

global表示此变量的未来分配将位于全局范围内。当您在ord中使用printTruthTable()时,您不需要说global,因为在您引用变量时已经检查了全局范围。但是,当您分配 ord时,您需要说我们正在创建一个全局变量,而不是一个局部变量。因此,请将global ordprintTruthTable()移至main()。另一方面,ord是一个坏名称,因为它会影响内置函数。此外,几乎从不需要全局变量。在这种情况下,只需将ord作为参数传递。