python变量作用域和模块
全局变量:全局变量可以在整个程序范围内访问。
局部变量:局部变量只能在其被声明的函数内部访问。
globvar = 0
def set_globvar_to_one():
global globvar # 使用 global 声明全局变量
globvar = 1
def print_globvar():
print(globvar) # 没有使用 global
set_globvar_to_one()
print globvar # 输出 1
print_globvar() # 输出 1,函数内的 globvar 已经是全局变量
1、global---将变量定义为全局变量。可以通过定义为全局变量,实现在函数内部改变变量值。
2、一个global语句可以同时定义多个变量,如 global x, y, z。
模块:python模块是一个python文件,以 .py 结尾,包含python对象的定义和python语句。
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
导入模块方式一: import 模块名
调用模块里面的函数: 模块名.函数名
import support # 导入模块
support.print_func("Runoob") # 现在可以调用模块里包含的函数了
导入模块方式二:from 模块名 import 函数名1,函数名2..........
from fib import fibonacci 要导入模块 fib 的 fibonacci 函数
这个声明不会把整个 fib 模块导入到当前的命名空间中,它只会将 fib 里的 fibonacci 单个引入到执行这个声明的模块的全局符号表。
把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:
from modname import *
reload(模块名字)
module_name要直接放模块的名字,而不是一个字符串形式。比如想重载 hello 模块,如下:
reload(hello)
python中的包:
包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。
# 导入 Phone 包
from package_runoob.runoob1 import runoob1
from package_runoob.runoob2 import runoob2
runoob1()
runoob2()