我有一个基本问题,我在xml函数中声明xmlfile为全局文件,是否可以在另一个子例程中使用它而没有任何问题?子例程的顺序重要吗?
def xml():
global xmlfile
file = open('config\\' + productLine + '.xml','r')
xmlfile=file.read()
def table():
parsexml(xmlfile)
最佳答案
函数的编写顺序无关紧要。xmlfile
的值将由调用函数的顺序确定。
但是,通常最好避免将值重新分配给函数内部的全局变量-这会使分析函数的行为更加复杂。最好使用函数参数和/或返回值,(或者使用一个类,并使变量成为一个类属性):
def xml():
with open('config\\' + productLine + '.xml','r') as f:
return f.read()
def table():
xmlfile = xml()
parsexml(xmlfile)