每天努力一点点,坚持下去 ------ 博客首页

Python之模块(random、hashlib、xpinyin、模块安装)

一、概念

  • 一个模块就是一个python文件
  1. import 模块的实质就是把import 的里面的模块导入了进来从上到下执行了一遍。
  2. 导入模块的顺序: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

然后再正常安装即可:

 


任何付出都会值得,会越来越好

posted @ 2020-02-29 11:10  他还在坚持嘛  阅读(5257)  评论(0编辑  收藏  举报