如何从另一个脚本python 3导入变量

时间:2017-08-10 15:30:47

标签: python-3.x

如何使用python 3从其他脚本导入变量?

示例:

我有两个脚本,我们称之为script_1.pyscript_2.py

script_1.py:

class Calculate():
   def addition():
      a = 5
      b = 2
      c = a + b

问:如何使用第二个脚本(script_2.py)从c打印变量script_1.py

1 个答案:

答案 0 :(得分:0)

你不能这样做,因为c不是一个全局变量,甚至似乎不存在于addition之外。即使它确实存在于您的课程之外,那么addition方法(应该是def addition(self)或顺便使用@staticmethod装饰器声明)也不会改变它它没有被声明为全局变量。

脚本1

class Calculate():
    @staticmethod
    def addition():
       a = 5
       b = 2
       c = a + b
       return c

脚本2

from script_1 import Calculate

print(Calculate().addition())

将输出c的值(例如7)。

如果你需要一个全局变量(你几乎肯定不会):

脚本1

c = None

class Calculate():
    @staticmethod
    def addition():
       global c
       a = 5
       b = 2
       c = a + b

脚本2

from script_1 import c, Calculate

Calculate().addition()
print(c)

你真的不应该这样做。全局变量可能导致严重问题。然而,全局常量通常都可以。