容器 -> 数据的封装
函数 -> 语句的封装
类 -> 方法和属性的封装
模块 -> 模块就是程序 , 保存每个.py文件
# 创建了一个hello.py的文件,它的内容如下: def hi(): print("Hi,cxn,I love you!") # 然后在 Python Shell中,使用 import引入 模块名就是文件名,不要写扩展名 import hello # 最后调用 hi()方法 hello.hi()
模块的导入方式
1> import 模块名【建议】
2>from 模块名 import 函数名
3>import 模块名 as 新名字 【建议】
# 第二种方式举例 from hello import * # 导入所有的函数 from hello import hi,say #导入指定的函数 #使用的时候就可以直接使用函数名即可.
模块的作用: 封装和组织Python的代码; 实现代码的重用;
__name__ :
在主程序中运行,返回的是 __main__ ;
使用某个对象调用__name__, 返回的是模块名 ;
Python模块的导入需要一个路径搜索的过程
搜索路径: 是一个列表,可以使用 sys.path查看,Python会一个个搜索是否存在目标模块,找到就导入,找不到就失败
最佳存放模块的路径是 /lib/site-packages
可以把我们的程序路径加到 path中即可成功导入
sys.path.append("F:\\test\\")
包(package)
1> 创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
2> 在文件夹中创建一个__init__.py的模块文件,内容可以为空.
使用 import pacekage.modul_name
标准库
Python标准库中包含一般任务所需的模块
打开Python文档: Python3.5.0 Shell 【点击菜单的Help-->Python Docs (F1) 】
全球Python爱好者贡献出来的模块都在: https://pypi.python.org/pypi ,我们也可以将自己的模块发布在这个里面.
PEP :是Python Enhancement Proposals的缩写,翻译过来就是 Python增强建议书的意思。它是用来规范与定义Python的各种增强与延伸功能的技术规范,好让Python开发社区能有共同遵循的依据.
每一个PEP都有一个唯一的编号,这个编号一旦给定就不会再改变。例如,PEP 3000用来定义Python3.0的相关技术规范;而PEP 333 则是Python的Web应用程序界面WSGI(Web Server Gateway Interface 1.0)的规范。 有关PEP列表大家可以参考 PEP 0: https://www.python.org/dev/peps/
如何快速学习一个模块?
>>> # 导入模块 >>> import timeit >>> print(__doc__) # 打印出它的__doc__属性 None >>> >>> print(timeit.__doc__) Tool for measuring execution time of small code snippets. This module avoids a number of common traps for measuring execution times. See also Tim Peters' introduction to the Algorithms chapter in the Python Cookbook, published by O'Reilly. Library usage: see the Timer class. Command line usage: python timeit.py [-n N] [-r N] [-s S] [-t] [-c] [-p] [-h] [--] [statement] Note: there is a certain baseline overhead associated with executing a pass statement. It differs between versions. The code here doesn't try to hide it, but you should be aware of it. The baseline overhead can be measured by invoking the program without arguments. Classes: Timer Functions: timeit(string, string) -> float repeat(string, string) -> list default_timer() -> float >>> # 查看模块中有哪些 类,哪些函数, 使用dir >>> dir(timeit) ['Timer', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_globals', 'default_number', 'default_repeat', 'default_timer', 'dummy_src_name', 'gc', 'itertools', 'main', 'reindent', 'repeat', 'sys', 'template', 'time', 'timeit'] >>> # dir(),显示出来的并不是所有对我们都有用 >>> # __all__,属性显示出来的就是该模块可以供外界调用的东西 >>> # 1) 并不是所有的模块都有__all__属性 >>> # 2) 如果模块设置了__all__属性,使用 from timeit import *,导入时,只会导入__all 属性里面的内容 >>> >>> # 后面编程中,我们也将对外提供访问的函数写入 __all__属性中 >>> >>> # __file__属性,是指明了该模块的源代码所在的位置. >>> >>> >>> # 除了__doc__属性,还可以使用 help()方法查看帮助 >>> >>>
由于timeit模块比较有用, http://bbs.fishc.com/thread-55593-1-1.html
第三方库的安装:
一般可以在自己的电脑上安装pip之后,使用pip命令安装, 也可以到pip社区 去搜索下载所需要的Python库 https://pypi.python.org/pypi
pip安装第三方库的命令可以参考: http://www.cnblogs.com/zengkefu/p/5624718.html
mysql: MySQL-python 1.2.5 :
可以下载windows安装版安装,也可以下载源码压缩包解压之后,进入MySQL-python-1.2.5目录: python setup.py install 完成安装.
>>> import MySQLdb
oracle: cx_Oracle 5.2.1:
>>> import cx_Oracle