<PY><core python programming笔记>C12 模块
来源:互联网 发布:足球教练考试软件 编辑:程序博客网 时间:2024/05/16 11:24
C12 模块
#模块用来组织Python代码,包用来组织模块,文件是模块的物理实现
#模块是命名空间,用句点‘.’来指示其空间内容
12.2搜索路径
可以用PYTHONPATH环境变量里查看修改
也可以修改.pth文件
包含.py .pyc .pyo的zip文件可以作为目录
>>>sys.path #列写所有搜索路径
>>>sys.path.append('e:\\') #添加路径
>>>del sys.path[-1] #删除最后一个路径
12.3命名空间 namespace
局部名称空间
全局名称空间
内建名称空间(首先加载,由__builtins__集合,dir(__buitins__)可以查看)
12.4导入模块
import module1,module2
#推荐在开头就导入,且先导入标准库,再导入第三方库,最后自定义模块(作用域原则)
from module1 import name1 #这样可以直接使用name1而不是module1.name1
或者
from module1 import * (不提倡,只在确实需要时,因为导入存在命名覆盖问题)
from Tkinter import (Tk,Frame,Button,Entry)
导入后可以重命名,以防混淆
n1=module1
n2=module1.name1
也可以边导入边重命名 from cgi import FieldStorage as form
12.5导入及内建特性
#导入就被执行,且执行了__name__,所以用__name=='__main__'做判断比较方便
#导入可以多次,加载只在最早的一次导入时
#特殊需要可以用导入函数 s=__import__('sys')
#可以reload(module1)
12.7包
Phone/
__init__.py #包的组织必须要有初始化py,可以为空
common_util.py
Voicedta/
__init__.py
Pots.py
Isdn.py
Fax/
__init__.py
G3.py
Mobile/
__init__.py
Analog.py
/
导入方法
import Phone.Mobile.Analog
Phone.Mobile.Analog.dail()
from Phone.Moblie import Analog
#绝对导入可能导致标准库被覆盖,可以使用带句点的相对导入
12.8其他特性
#查看sys自动导入的模块用 sys.modules.keys()
#模块命名前加下划线可以阻止被 import *导入,但仍可以显式导入
#PYTHONCASEOK环境变量指定了导入区分大小写或不区分
在文件开头按如下方法指定编码
# !usr/bin/env python
# -*-coding:UTF-8 -*- #或者coding=Unicode
#把一些import放到内部阻止导入循环
#可以通过命令行、shell、execfile()、模块导入、解释器的-m选项等方法执行一个模块
12.9相关模块
imp
modulefinder
pkgutil
site
- <PY><core python programming笔记>C12 模块
- <PY><core python programming 笔记>C1 概述
- <PY><core python programming笔记>C5 数字
- <PY><core python programming笔记>C3 Python基础
- <PY><core python programming笔记>C4 Python对象
- <PY><core python programming笔记>C22 扩展Python
- <PY><core python programming笔记>C2 快速入门
- <PY><core python programming笔记>C7 字典和集合类型
- <PY><core python programming笔记>C8 条件与循环
- <PY><core python programming笔记>C9 文件和输入输出
- <PY><core python programming笔记>C10 错误和异常
- <PY><core python programming笔记>C13 面向对象编程
- <PY><core python programming笔记>C14 执行环境
- <PY><core python programming笔记>C15 正则表达式
- <PY><core python programming笔记>C16 网络编程
- <PY><core python programming笔记>C17 网络客户端编程
- <PY><core python programming笔记>C18 多线程编程
- <PY><core python programming笔记>C19 图形用户界面编程
- MIT differential equations---23,24,25
- Java内部类使用总结
- 一图胜千言——软件开发中的形象思维与图的运用
- XenServer SDK
- 习惯的力量之四理直气壮的借口?
- <PY><core python programming笔记>C12 模块
- 百度之星资格赛,hdu 4825 XOR SUM
- SSRS的一些格式问题
- ios ARC工程中添加非ARC文件
- JDK自带工具-jstat详解
- Struts2拦截器
- Powerdesigner 学习笔记
- Java系统命令调用、序列化、JDO
- Sybase数据库维护技巧总结