Python模块代码编写基础

导入注意 :导入只发生一次

在默认的情况下,Python只对每个文件的每个进程做一次操作,之后的导入操作都只会取出已加载的模块对象。

 

模块文件中的顶层程序代码通过只执行一次,你可以凭借这种特性对变量进行初始化。

例如:定义一个simple.py文件

print('hello')

spam = 1

 

第一次导入 import simple,执行simple.spam 值为1,设置simple.spam =2

第二次导入 import simple ,simple.spam不会在初始化,simple.spam = 2

 

模块的命名空间

导入和作用域 

如果不加上global X,打印X值是88,加上值是99

__author__ = 'wangle1'
X=88
def f():
    #global X
    X=99
f();
print(X)

命名空间的嵌套

 

 

 

可以使用:有时需要一个模块的代码通过某种导入后再一次运行,需要使用reload内置函数

重载模块

要强制使代码重新载入并重新运行,需要调用reload内置函数

reload函数会强制以加载的模块

 

reload函数可以修改程序的一些部分,而无须停止整个程序。

 

Reload的使用

一、与import和from不同的是

1:reload是Python中的内置对象,而不是语句
2:传给reload的是已经存在的模块对象,而不是变量名

3:reload在python3中位于模块之中,并且必须导入自己

print('hello')
spam =3

 

>>> import simple

hello

>>> simple

<module 'simple' from 'D:\python\simple.pyc'>

>>> simple.spam

3

>>> import simple

>>> simple.spam

3

print('hello')
spam =4

>>> from imp import reload

>>> reload(simple)

hello

<module 'simple' from 'D:\python\simple.py'>

>>> simple.spam

4

 

 

 

 

 

 

猜你喜欢

转载自kayak2015.iteye.com/blog/2258348