一、概念
- 一个模块就是一个python文件
- import 模块的实质就是把import 的里面的模块导入了进来从上到下执行了一遍。
- 导入模块的顺序:1、当前目录下找 2、sys.path下的目录找 【两个目录下都没有,则会报错】
模块的类型:
1、标准模块:不需要你单独安装,python自带的模块,比如:time、os、datetime、json。
2、第三方模块
3、自己写的python
二、标准模块
(1)type()方法
- 要查看变量类型,可以使用:
score = int(input(\'请输入你的分数:\')) #input输出的是str类型 print(\'score的类型\',type(score)) #结果: 请输入你的分数:66 score的类型 <class \'int\'>
(2)os循环模块
import os
os.mkdir(\'cnz/happy\') #父目录不存在会报错 os.makedirs(\'cnz/china\') #父目录不存在会直接创建,不会报错
(3)random模块
- 产生随机数的模块
import random
import random print(random.randint(0,100,)) #0-100之间随机产生一个数字
1)随机取一个整数,使用.randint( )方法:
import random print(random.randint(100000,999999)) #随机取一个整数,顾头顾尾
2)随机取一个小数,使用.uniform( )方法:
import random print(random.uniform(1,900))#取一个小数,顾头顾尾 #结果:79.58315994267842
3)随机取一个元素,使用.choice( )方法:
stus=[\'xiaojun\',\'hailong\',\'yangfan\',\'tanailing\',\'yangyue\',\'cc\'] print(random.choice(stus))
只要能进行循环的,都可以使用.choice( )方法:
print(random.choice(\'abcdegfsw\'))#随机取一个元素 #字符串、列表、字典、元组、集合都可以使用该方法
4)随机取N个元素,使用.sample( )方法,sample里面是列表名称和取元素的个数:
stus=[\'xiaojun\',\'hailong\',\'yangfan\',\'tanailing\',\'yangyue\',\'cc\'] print(random.sample(stus,2))#随机取N个元素,N是几就会随机取几个
5)洗牌,即:打乱顺序,使用.shuffle( )方法:
l=list(range(1,101)) #列表中是从1到100的有序list print(random.shuffle(l)) #结果:None,说明该方法本身没有返回值 print(\'洗牌之后的\',l) #打乱顺序输出 #洗牌这个方法只适用于list
- 由于洗牌是直接修改原来的内容,而元组和字符串是不能改变内容的,所以洗牌这个方法只能用于list了。
(4)datetime模块
- 产生日期的模块
import datetime
(5)copy模块
- 使用深拷贝与浅拷贝的模块
import copy #引入copy模块 l1=[1,1,1,2,3,4,5] #1,1,2,3,4,5 #0 1 2 3 4 5 6 l2=l1 #浅拷贝方式1 l4=l1.copy() #浅拷贝方式2 l3=copy.deepcopy() #深拷贝 #打印内存地址 print(id(l1)) #结果:2629934030152 print(id(l2)) #结果:2629934030152 print(id(l3)) #结果:2629934028872 \'\'\' 区别: 浅拷贝内存地址不变,深拷贝内存地址改变。 循环删除列表元素时,使用深拷贝方式。 \'\'\'
(6)hashlib模块
-
加密模块
加密步骤:
1、字符串先转成二进制类型
使用.encode()方法转成二进制类型
import hashlib password=\'123456\' print(password.encode())#字符串不能直接加密,要先转成二进制类型的才可以加密 #结果为:b\'123456\'
2、使用加密方法
使用.hexdigest()方法输出加密后内容
import hashlib password=\'123456\' m=hashlib.md5(password.encode()) #先转成二进制,再加密 #print(dir(m)) #由于这个加密模块pycharm提供不了提示方法,所以如果想知道都有什么方法,可以使用内置函数dir(),使用这条语句就能打印出所有方法了 print(m.hexdigest())
三、第三方模块
1、安装第三方模块的方式
- 方式一:
在Windows系统中打开cmd命令行,输入pip install xxxxx
pip install xxxxx
pip是Python自带的用来安装第三方模块的命令,它会自动去Python的官方网站找到相应的模块,自动下载并安装。
(如果网速不好,无法从Python官网下载到模块,可以修改pip源为国内网站,自己写一个Python程序。具体见《修改pip源为国内网站.py》这个文件。)
- 方式二:
当无法访问外网时,使用手动安装方式。
由于Python的模块有很多,因此想使用什么模块直接去百度搜索,
进到里面的帖子里可以看到用什么具体模块。
比如,我要装pymysql模块,那么去网站搜索一下,找到PyPI.org这个网站(Pip源):
点击进去后里面会说明怎么安装:
下载文件。
使用.whl结尾的文件,直接在cmd命令行中输入命令pip install c:/desktop/xxx.whl即可:
pip install c:/desktop/xxx.whl #注意最好写文件下载地址的绝对路径
- 方式三:
使用.tar.gz结尾的文件。
1)先解压,解压后得到一些文件,可以看到setup.py这个文件,这个就是安装文件;
2)运行这个文件,直接在地址栏里输入cmd,以文件所在路径位置打开cmd命令行,或在当前文件夹的空白处右键,点击
“在此处打开Powershell窗口”,也可以打开cmd命令行:
3)输入命令:python setup.py install
python setup.py install
如果之前装过模块,第三种方式不会报已安装,而是直接卸载原模块重新安装。
-
方式四:
1)点击Settings-Project xxx-Project Interpreter:
2)点击“+”,打开安装包,输入要下载的模块名,点击“Install Package”即可:
-
如果电脑里既有Python2又有Python3.5,则需要将模块装在对应的安装路径下
执行命令:python3.5 -m pip install xxx即可。
python3.5 -m pip install xxx
- 验证方式
直接在Pycharm中输入import xxx,然后运行,看是否报错即可。
-
修改Python安装路径
2、模块使用
(1)xpinyin模块
自动将汉字转成拼音。
import xpinyin s=xpinyin.Pinyin() #先实例化 res=s.get_pinyin(\'小军\',\'\') #然后输入要转换的内容 print(res)
print(s.get_pinyin(\'小军\',\'\'))#默认用-当连接符 print(s.get_pinyin(\'刘小红\'))#结果为:liu-xiao-hong
(2)pymysql模块
(3)xlwt模块
写Excel。
(4)xlrd模块
读Excel。
(5)xlutils模块
修改Excel。
四、Q&A
若出现There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645) - skipping
There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645) - skipping Could not find a version that satisfies the requirement mysql (from versions: ) No matching distribution found for mysql
是pip源的问题,只需更改pip源即可。执行
[root@besttest script_repository]# python 修改pip源为国内网站.py
然后再正常安装即可:
任何付出都会值得,会越来越好