变量传递

Posted coder-2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量传递相关的知识,希望对你有一定的参考价值。

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

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() 可以查看当前模块的符号表中的符号列表
 
 

以上是关于变量传递的主要内容,如果未能解决你的问题,请参考以下文章

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法

Android Java将变量从片段传递到活动[重复]

将变量传递给现代中继中的片段容器

将数据从片段列表视图项传递到活动字符串变量 onitemclicklistener

如何将变量从活动传递到片段不能解决以前的所有问题

OpenGL着色器没有将变量从顶点传递到片段着色器