AttributeError: 'function'对象没有属性'my_args
我该如何在 __main__
中访问 my_args
列表数据类型呢?
test1.py
#!/usr/bin/env python
def main():
print 'main function'
one()
def one():
print 'one function'
my_args = ["QA-65"]
def two():
print 'two function'
if __name__ == "__main__":
main()
getattr(my_args, pop)
2 个回答
0
你可以使用global
来做到这一点。
#!/usr/bin/env python
def main():
print 'main function'
one()
def one():
print 'one function'
global my_args
my_args = ["QA-65"]
def two():
print 'two function'
if __name__ == "__main__":
main()
print my_args.pop()
演示链接。
只是因为你可以这样做,并不意味着你应该这样做!
3
你可以通过在 one()
函数中 return
它们来实现:
#!/usr/bin/env python
def main():
print 'main function'
args = one() # returns my_args, which i'm assigning to args
print 'i got args from one():', args
print args.pop()
def one():
print 'one function'
my_args = ["QA-65"]
return my_args
def two():
print 'two function'
if __name__ == "__main__":
main()
#getattr(my_args, pop)
# ^^^ Moved this up to main() ^^^
输出结果:
main function
one function
i got args from one(): ['QA-65']
QA-65