1. 程式人生 > >Python的內建模組詳解

Python的內建模組詳解

一、什麼是模組

  模組就是封裝了一些列功能的py檔案,我們使用的時候直接匯入這個檔案,通過傳入引數的方式使用其他檔案的功能函式

二、模組有哪些

  1. 內建模組
  2. 自定義模組
  3. 第三方模組

三、如何匯入模組

  匯入模組分為4種:

1 #匯入模組
2 import mode_test 
3 #匯入mode_test模組中的connect_mysql功能函式
4 from mode_test import connect_mysql 
5 #匯入mode_test模組中的connect_mysql功能函式,並且起一個叫mysql的名字
6 from mode_test import
connect_mysql as mysql 7 #匯入mode_test內的全部功能函式 8 from mode_test import *

注意:使用自定義的功能模組的時候一定要加入sys.path中加入自己功能模組的路徑

四、內建模組詳解:

  • Time模組(一定要匯入Time模組) import time
sleep() 延遲時間
gmtime() 出入時間戳,不傳入引數使用本地時間轉換成UTC時間,轉換後的格式元組
localtime() 把時間戳轉換成元組格式,轉換成本地時區
mktime() 將本地的元組格式時間的形式轉換成時間戳
strftime() 格式化時間字串
strptime() 轉化結果是元組的時間格式
asctime() 傳入元組轉換成字串
ctime 傳入時間戳,轉換成字串,轉換的字串和asctime的格式一致
 1 #延遲函式
 2 time.sleep(3) #引數以秒為單位
 3 #gmtime() 傳入時間戳,不填寫引數使用本地時間轉換成UTC時
4 print('gmtime()==>',time.gmtime()) 5 #localtime() 引數是時間戳,轉化成本地時區的元組格式,不傳入時間 6 print('localtime==>',time.localtime()) 7 #mktime() 引數是元組格式的時間轉換成時間戳, 8 print( 'mktime()==>',time.mktime(time.localtime())) 9 #strftime() 第一個引數是格式化時間的控制格式,第二個引數是元組形式的時間 10 print(time.strftime('%Y-%m-%d',time.localtime())) 11 #將時間格式轉換成元組格式,第二個引數是檢測對應引數的,次引數對應元組引數 12 print(time.strptime('2018-11-17','%Y-%m-%d')) 13 #傳入元組格式的時間,轉換成通用時間字串 14 print(time.asctime(time.localtime())) 15 #傳入時間戳轉換成通用時間字串 16 print(time.ctime(121212121212))
Time模組例項程式碼

 下面是上面程式碼執行的結果,請自己對應下,第一行的sleep程式碼不會顯示結果

1 gmtime()==> time.struct_time(tm_year=2018, tm_mon=11, tm_mday=17, tm_hour=3, tm_min=59, tm_sec=45, tm_wday=5, tm_yday=321, tm_isdst=0)
2 localtime()==> time.struct_time(tm_year=2018, tm_mon=11, tm_mday=17, tm_hour=11, tm_min=59, tm_sec=45, tm_wday=5, tm_yday=321, tm_isdst=0)
3 mktime()==> 1542427185.0
4 strftime()==> 2018-11-17
5 strptime()==> time.struct_time(tm_year=2018, tm_mon=11, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=321, tm_isdst=-1)
6 asctime()==> Sat Nov 17 11:59:45 2018
7 ctime()==> Wed Jan 23 09:40:12 5811
上面程式碼執行和結果

時間控制格式

%Y Year with century as a decimal number
%m Month as a decimal number[01,12]
%d Day of the month as a decimal number[1,31]
%H Hour(24-hour clock) as a decimal number[00,23]
%M Minute as a decimal number[00,59]
%S Second as a decimal number[00,61]
%z Time zone offset from UTC
%a Local’s abbreviated weekday name
%A Local’s full weekday name
%b Local’s abbreviated month name
%B Local’s full month name
%c Local’s appropriate date and time representation
%I Hour(12-hour clock) as a decimal number[01,12]
%p Local’s equivalent of either AM or PM

 

 -------------------------------------------- Hua Li Fen Ge Xian  --------------------------------------------

  • DateTime模組(一定要匯入DateTime模組) import datetime
datetime.datetime.now() 獲取當前時間
datetime.timedelta(3) 獲取三天前的時間
datetime.datetime.now().replace(year=2017) 修改時間

 

1 #列印當前時間                                                       
2 print('列印當前時間==>',datetime.datetime.now())                    
3 #獲取三天前的時間                                                     
4 print('獲取三天前的時間==>',datetime.datetime.now() - datetime.timedel
5 #修改時間為2017年                                                   
6 print('修改時間為2017年',datetime.datetime.now().replace(year=2017))
DateTime模組例項程式碼

下面是上面程式碼執行的結果,請自己對應下,第一行的sleep程式碼不會顯示結果

1 列印當前時間==> 2018-11-17 12:12:49.234198
2 獲取三天前的時間==> 2018-11-14 12:12:49.234289
3 修改時間為2017年 2017-11-17 12:12:49.234323
上面程式碼執行結果

-------------------------------------------- Hua Li Fen Ge Xian  --------------------------------------------

  • Random模組(一定要匯入Random模組)import random
random() 隨機0到1之間的小數
randint(1,7) 隨機整數1到7之間的整數
randrange(1,3) 隨機1到3之間的數,隨機值包括1但是不包括3
choice() 隨機字串的字元,引數可以傳入列表
sampie(‘字串’,指定隨機幾個值) 第一個引數的隨機的字串,第二個引數是隨機幾個值
uniform(1,3) 隨機1到3之間的浮點數
shuffle() 傳入一個列表,打亂列表順序
1 print('隨機0到1之間的值==>',random.random())                              
2 print('隨機整數1到7之間的==>',random.randint(1,7))                         
3 print('隨機1到3之間的數,包括1但是不包括3',random.randrange(1,3))                 
4 print('隨機字串的字元==>',random.choice('sadsad'))                       
5 print('隨機字串的字元,第二個引數是隨機多少位==>',random.sample('sadasdas',3))       
6 print('隨機1到3浮點數==>',random.uniform(1,3))                           
7 a = [1,2,3,4,5,6]                                                  
8 random.shuffle(a)                                                  
9 print('傳入列表打亂順序==>',a)                                             
Random模組

下面是上面程式碼執行的結果,請自己對應下

1 隨機0到1之間的值==> 0.908484158387085
2 隨機整數1到7之間的==> 1
3 隨機1到3之間的數,包括1但是不包括3 2
4 隨機字串的字元==> a
5 隨機字串的字元,第二個引數是隨機多少位==> ['s', 'd', 's']
6 隨機1到3浮點數==> 2.857186994266166
7 傳入列表打亂順序==> [4, 3, 2, 5, 1, 6]
上述程式碼的結果