[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),也会执行。

最终输出结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值