`

python学习笔记---模块

阅读更多

模块

一个模块不但包含语句,还包含函数的定义。这些语句是用来初始化模块的。当模块第一次被载入的时候被执行。每个模块有自己的命名空间,这些命名空间可以作为函数的全局命名空间使用。因此用户可以使用全局变量,而不必担心使用用户其他全局变量的意外冲突。另一方面,如果你明确做这件事情的后果,你可以通过引用其他模块那样引用模块的全局变量。

 

模块可以导入其他模块,通常来说模块导入语句import放在模块的开始部分。被导入的部分是模块的全局成员。

也可以直接导入模块的某个或者某些成员。

>>> from fibo import fib, fib2
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

 这里并没有引入模块的名称,所以例子中的bibo并没有被定义。

也可以导入模块的所有部分。

>>> from fibo import *
>>> fib(500)
1 1 2 3 5 8 13 21 34 55 89 144 233 377

 导入了模块中所有不以“_”开头的成员。

 

global

globvar = 0

def set_globvar_to_one():
    global globvar    # Needed to modify global copy of globvar
    globvar = 1

def print_globvar():
    print globvar     # No need for global declaration to read value of globvar

set_globvar_to_one()
print_globvar()       # Prints 1

 当函数中需要修改全局变量的时候一定要使用global声明这个变量是全局变量。不然“a=1”这样的修改全局变量的方法会让python的解释器误认为是重新声明并初始化了一个变量。

但读取全局变量的时候就不用global去修饰了。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics