2

所以我有一个文件,我们把它命名为 main.py

在其中,我导入了一个外部文件,我们将其命名为 ext.py

现在假设这些是 ext.py 的内容:

def how():
    tangerine = 1

假设这些是 main.py 的内容:

import ext
print #Not sure what or how

我想知道的是如何通过主文件打印出 tangerine 变量。像这样:打印 ext.how().tangerine?如果我输入 ext.tangerine 它不起作用,因为 tangerine 仅在 how() 函数中定义。

请帮忙,因为我真的需要它!

4

2 回答 2

4

使用全局的替代方法 - 从函数中返回 tangerine 的值:

def how():
     tangerine = 1    
     return tangerine

在 main.py- 中:

 import ext
 print ext.how()
于 2013-03-10T17:55:11.217 回答
1

您可能应该使用一个类。

def how():
    tangerine = 1

将始终具有值 1。如果您如其他海报所述将其设为全局可访问,则该变量将可在全局命名空间中访问,这意味着每次您在方法之外修改变量时,您的函数的功能可能会受到影响,因为它依赖于“全球状态”。很可能会发生不想要的坏事。

使用类/对象并不困难:

class Know(object):
    def __init__(self, t):
        self.tangerine = t
    def how(self):
        self.tangerine += 1

iknow = Know(0)
iknow.how()

youknow.Know(9)
youknow.how()
print youknow.tangerine
>>> 10
print iknow.tangerine
>>> 1
于 2013-03-10T18:07:50.127 回答