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

然后再正常安裝即可:

 


任何付出都會值得,會越來越好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM