python 不同文件中的变量引用

今晚测试了一下,发现globals()[ ]函数只能引用同一个文件中的全局变量,对于不同文件中的变量就无能为力,

而且,有点奇怪的是对于在函数中引用变量的问题,如果引用的是列表和字典,那么可以在函数中修改它的值,但是对于普通的变量,在函数中无法修改他的值,因为传递给函数的只是一个复制的值

1
2
3
4
5
6
7
8
9
10
11
#!/bin/usr/python
import sys
sys.path.append('/home/tcstory/desktop')
import b
test={'a':1}
b.testing(test)
x=4
b.test1(x)
print 'original value is ',x
lists=[1,2,3]
b.test2(lists)
1
2
3
4
5
6
7
8
9
def testing(test):
del test['a']
print test
def test1(x):
x=x+1
print 'in the function ,the value is ',x
def test2(lists):
del lists[0]
print lists

输出如下

{}
in the function ,the value is 5
original value is 4
[2, 3]