首页 > 其他 > 详细

变量传递

时间:2018-04-05 18:22:39      阅读:208      评论:0      收藏:0      [点我收藏+]

想利用模块传递某个变量,修改某个变量的值,且在其它模块中也可见

import base
def hello():
    print ‘scope base‘, base.value, id(base.value)
from base import value
from b import hello
print ‘scope base‘, value, id(value)
value = 20
print ‘scope local‘, value, id(value)
hello()
[‘__builtins__‘, ‘__doc__‘, ‘__file__‘, ‘__name__‘, ‘__package__‘, ‘hello‘, ‘value‘]
scope base 10 140195531889072
[‘__builtins__‘, ‘__doc__‘, ‘__file__‘, ‘__name__‘, ‘__package__‘, ‘hello‘, ‘value‘]
scope local 20 140195531888832
scope base 10 140195531889072
value 的值并没有被修改,并且id值(对象的内存地址) 不一致,因此我们得出结论, value 和 base.value 存在在不同位置,是两个不同的对象。
每个模块有一个自己的符号表,当我们引入一个模块时,这个符号表中的内容就会被修改,使用dir() 可以查看当前模块的符号表中的符号列表
 
 

变量传递

原文:https://www.cnblogs.com/coder-2017/p/8723566.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!