16.Python略有小成(内置模块Ⅱ)
生活随笔
收集整理的這篇文章主要介紹了
16.Python略有小成(内置模块Ⅱ)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python(內置模塊Ⅱ)
一、規范化開發
- 文件加載問題
- 代碼可讀性,查詢差
- 配置文件放在一起 : 一些輕易不改變的變量,一般命名 settings.py
- 主邏輯函數放在一起 : 一般命名 src.py
- 輔助功能函數放在一起 : 公共組件部分,裝飾器,log日志,一般命名 common.py
- 程序啟動開關 : 放在明顯位置,便于開啟程序,一般命名 starts.py
- 數據庫文件 : register文件,文本數據庫
- 日志 : log文件
- bin 文件夾放啟動文件
- conf 放配置文件
- core 放核心文件 主邏輯
- lib 放公共組件文件
- db 放數據庫文件
- log 放日志文件
- 外加一個使用說明,README,此為文件
二、time模塊
與實踐相關的模塊三種形式:
時間戳 : time.time 時差,計時.....
通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。我們運行“type(time.time())”,返回的是float類型。
格式化時間(人類看得懂的時間) : 2019-6-28 12:00
%y 兩位數的年份表示(00-99) %Y 四位數的年份表示(000-9999) %m 月份(01-12) %d 月內中的一天(0-31) %H 24小時制小時數(0-23) %I 12小時制小時數(01-12) %M 分鐘數(00=59) %S 秒(00-59) %a 本地簡化星期名稱 %A 本地完整星期名稱 %b 本地簡化的月份名稱 %B 本地完整的月份名稱 %c 本地相應的日期表示和時間表示 %j 年內的一天(001-366) %p 本地A.M.或P.M.的等價符 %U 一年中的星期數(00-53)星期天為星期的開始 %w 星期(0-6),星期天為星期的開始 %W 一年中的星期數(00-53)星期一為星期的開始 %x 本地相應的日期表示 %X 本地相應的時間表示 %Z 當前時區的名稱 %% %號本身 python中時間日期格式化符號:元組(struct_time) :struct_time元組共有9個元素共九個元素:(年,月,日,時,分,秒,一年中第幾周,一年中第幾天等)
我們先導入time模塊,來認識一下python中表示時間的幾種格式:
#導入時間模塊 >>>import time#時間戳 >>>time.time() 1500875844.800804#時間字符串 >>>time.strftime("%Y-%m-%d %X") '2017-07-24 13:54:37' >>>time.strftime("%Y-%m-%d %H-%M-%S") '2017-07-24 13-55-04'#時間元組:localtime將一個時間戳轉換為當前時區的struct_time time.localtime() time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24,tm_hour=13, tm_min=59, tm_sec=37, tm_wday=0, tm_yday=205, tm_isdst=0)幾種格式之間的轉換
# 格式化時間 ----> 結構化時間 ft = time.strftime('%Y/%m/%d %H:%M:%S') st = time.strptime(ft,'%Y/%m/%d %H:%M:%S') print(st) # 結構化時間 ---> 時間戳 t = time.mktime(st) print(t)# 時間戳 ----> 結構化時間 t = time.time() st = time.localtime(t) print(st) # 結構化時間 ---> 格式化時間 ft = time.strftime('%Y/%m/%d %H:%M:%S',st) print(ft) #結構化時間 --> %a %b %d %H:%M:%S %Y串 #time.asctime(結構化時間) 如果不傳參數,直接返回當前時間的格式化串 >>>time.asctime(time.localtime(1500000000)) 'Fri Jul 14 10:40:00 2017' >>>time.asctime() 'Mon Jul 24 15:18:33 2017'#時間戳 --> %a %d %d %H:%M:%S %Y串 #time.ctime(時間戳) 如果不傳參數,直接返回當前時間的格式化串 >>>time.ctime() 'Mon Jul 24 15:19:07 2017' >>>time.ctime(1500000000) 'Fri Jul 14 10:40:00 2017' t = time.time() ft = time.ctime(t) print(ft)st = time.localtime() ft = time.asctime(st) print(ft) import time true_time=time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d %H:%M:%S')) time_now=time.mktime(time.strptime('2017-09-12 11:00:00','%Y-%m-%d %H:%M:%S')) dif_time=time_now-true_time struct_time=time.gmtime(dif_time) print('過去了%d年%d月%d天%d小時%d分鐘%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,struct_time.tm_mday-1,struct_time.tm_hour,struct_time.tm_min,struct_time.tm_sec))計算時間差三、datetime模塊
# datatime模塊 import datetime now_time = datetime.datetime.now() # 現在的時間 # 只能調整的字段:weeks days hours minutes seconds print(datetime.datetime.now() + datetime.timedelta(weeks=3)) # 三周后 print(datetime.datetime.now() + datetime.timedelta(weeks=-3)) # 三周前 print(datetime.datetime.now() + datetime.timedelta(days=-3)) # 三天前 print(datetime.datetime.now() + datetime.timedelta(days=3)) # 三天后 print(datetime.datetime.now() + datetime.timedelta(hours=5)) # 5小時后 print(datetime.datetime.now() + datetime.timedelta(hours=-5)) # 5小時前 print(datetime.datetime.now() + datetime.timedelta(minutes=-15)) # 15分鐘前 print(datetime.datetime.now() + datetime.timedelta(minutes=15)) # 15分鐘后 print(datetime.datetime.now() + datetime.timedelta(seconds=-70)) # 70秒前 print(datetime.datetime.now() + datetime.timedelta(seconds=70)) # 70秒后current_time = datetime.datetime.now() # 可直接調整到指定的 年 月 日 時 分 秒 等print(current_time.replace(year=1977)) # 直接調整到1977年 print(current_time.replace(month=1)) # 直接調整到1月份 print(current_time.replace(year=1989,month=4,day=25)) # 1989-04-25 18:49:05.898601# 將時間戳轉化成時間 print(datetime.date.fromtimestamp(1232132131)) # 2009-01-17四、random模塊
>>> import random #隨機小數 >>> random.random() # 大于0且小于1之間的小數 0.7664338663654585 >>> random.uniform(1,3) #大于1小于3的小數 1.6270147180533838 #恒富:發紅包#隨機整數 >>> random.randint(1,5) # 大于等于1且小于等于5之間的整數*** >>> random.randrange(1,10,2) # 大于等于1且小于10之間的奇數***#隨機選擇一個返回 >>> random.choice([1,'23',[4,5]]) # #1或者23或者[4,5] #隨機選擇多個返回,返回的個數為函數的第二個參數*** >>> random.sample([1,'23',[4,5]],2) # #列表元素任意2個組合,可控制元素個數*** [[4, 5], '23']#打亂列表順序 >>> item=[1,3,5,7,9] >>> random.shuffle(item) # 對原列表打亂次序 >>> item [5, 1, 3, 7, 9] >>> random.shuffle(item) >>> item [5, 9, 7, 1, 3]轉載于:https://www.cnblogs.com/chenshuo531702820/p/11103689.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的16.Python略有小成(内置模块Ⅱ)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电子商务之部分名词解释
- 下一篇: html5 type submit,in