如何从导入文件中的函数访问变量

时间:2013-03-10 17:48:54

标签: python

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

在其中,我导入了一个外部文件,我们称之为ext.py

现在让我们说这些是ext.py的内容:

def how():
    tangerine = 1

让我们说这些是main.py的内容:

import ext
print #Not sure what or how

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

请提供帮助,因为我真的需要它!

2 个答案:

答案 0 :(得分:4)

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

def how():
     tangerine = 1    
     return tangerine

在main.py中:

 import ext
 print ext.how()

答案 1 :(得分: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