[python]引用全局变量,文件调用关系

A import B,那么A运行的时候,B就会运行。

如果B中需要传入参数,在调用A的时候,需要一起将B的参数传入。

如:

B的入参为 b_input1  b_input2

A的入参为 a_input1  a_input2,

此时,A的调用应该写为:

python A.py b_input1  b_input2   a_input1  a_input2,

b的参数应该写在前面。

import sys

B_g = 0


class B:
    def test_b(self,in1,in2):
        print("i am b: the input is%s,%s",(in1,in2))
        global B_g
        B_g = 3

in1 = sys.argv[1]
in2 = sys.argv[2]

b = B()
b.test_b(in1,in2)

如果上述,给B_g赋值前,没有写global,那么在A中调用B_g,则还是初始值,

所以在前边加上 global 是必须的

import sys
from b import B_g


class A:
    def test_a(self,in1,in2):
        print("i am a: the input is%s,%s",(in1,in2))
        print("B_g in a",B_g)

in3 = sys.argv[3]
in4 = sys.argv[4]

a = A()
a.test_a(in3,in4)

上述虽然只是import了全局变量,但是B会全部执行一遍

b.test_b(in1,in2),也会执行。

最终输出结果。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页