Python3 模块学习
- 基本概念
为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。
Python引入了按目录来组织模块的方法,称为包(Package)
- import 语句使用
想使用 Python 源文件,只需在另一个源文件里执行 import 语句,语法如
下:
import module1[, module2[,... moduleN]
注意:
1.涉及到Python的搜索路径,搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块;一般从当前文件夹开始寻找。
2.搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量
- from…import 语句
Python的from语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:
from modname import name1[, name2[, ... nameN]]
#导入指定目录下所有内容
from modname import *
- 标准模块
Python 本身带着一些标准的模块库
- math 模块为浮点运算提供了对底层C函数库的访问:
>>> import math
>>> math.cos(math.pi / 4.0)
0.70710678118654757
>>> math.log(1024, 2)
10.0
- os 模块提供了很多与操作系统交互的函数:
>>> import os
>>> os.getcwd() # Return the current working directory
'C:\\Python35'
>>> os.chdir('/server/accesslogs') # Change current working directory
>>> os.system('mkdir today') # Run the command mkdir in the system shell
0
+ [random](https://docs.python.org/3/library/random.html#module-random) 提供了生成随机数的工具:
```python
>>> import random
>>> random.choice(['apple', 'pear', 'banana'])
'apple'
>>> random.sample(range(100), 10) # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
>>> random.random() # random float
0.17970987693706186
>>> random.randrange(6) # random integer chosen from range(6)
4
- glob 模块提供了一个函数用于从目录通配符搜索中生成文件列表:
>>> import glob
>>> glob.glob('*.py')
- re 模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:
>>> import re
>>> re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
>>> re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
'cat in the hat'
- 有几个模块用于访问互联网以及处理网络通信协议。其中最简单的两个是用于处理从 urls 接收的数据的 [urllib.request]
(https://docs.python.org/3/library/urllib.request.html#module-urllib.request) 以及用于发送电子邮件的 smtplib:
由于篇幅的原因不多做介绍,参考连接:参考;模块学习给后期的爬虫项目的使用模块,引入方式。
- 安装第三方模块
在Python中,安装第三方模块,是通过包管理工具pip完成的。
如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。
如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip
和Add python.exe to Path
。
在命令提示符窗口下尝试运行pip
,如果Windows提示未找到命令,可以重新运行安装程序添加pip
。
注意:Mac或Linux上有可能并存Python 3.x和Python 2.x,因此对应的pip命令是pip3
。
笔者就是要重新安装的,但是找不到安装包,可以在window软件管理下处理。步骤入下:
后续的步骤基本就是next...;最后cmd下输入pip测试以下吧,笔者称Ok,就不截图。
一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索
这里主要是学习模块的使用,关于python的模块,后续补充!
- 补充:name属性
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用name属性来使该程序块仅在该模块自身运行时执行。
笔者的后续使用Eclipse写python;目前准备pycharm;目前pycharm是否吃配置,反正IDEA启动太慢了,笔记本太渣了,走!
2017年6月24日17:05:15