我正在尝试以这种方式在python中打印数组:
ord = []
def printTest():
global ord
print ', '.join(ord)
def main():
ord = ["a","b"]
printTest()
main()
但它只打印一个新行。我该如何解决这个问题?
谢谢!
答案 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 ord
从printTruthTable()
移至main()
。另一方面,ord
是一个坏名称,因为它会影响内置函数。此外,几乎从不需要全局变量。在这种情况下,只需将ord
作为参数传递。