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),也会执行。
最终输出结果。