生活随笔
收集整理的這篇文章主要介紹了
Python成长笔记 - 基础篇 (六)python模块
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
本節(jié)大綱:
模塊介紹time &datetime模塊randomossysshutiljson & picleshelvexml處理yaml處理configparserhashlibsubprocesslogging模塊re正則表達(dá)式 程序解耦:程序其他地方拆分開(kāi),降低了數(shù)據(jù)邏輯層和后臺(tái)數(shù)據(jù)交互接口的關(guān)聯(lián) import sys,os os.path.diirname(os.path.abspath(__file__)) 打印上級(jí)目錄地址 模塊: 1、定義 模塊:本質(zhì)是一個(gè).py結(jié)尾的python文件(ps:文件名:test ,模塊調(diào)用名:test),用來(lái)從邏輯上組織python代碼(變量、函數(shù)、類、邏輯:本質(zhì)就是為了實(shí)現(xiàn)一個(gè)功能) 包:本質(zhì)是一個(gè)目錄(必須有一個(gè)_init_.py文件),是從邏輯上組織模塊 包的導(dǎo)入:本質(zhì)都是解釋__init__.py文件 2、導(dǎo)入方法 1。導(dǎo)入 import module_name1,module_name2 2。from module_name1 import * -->本質(zhì)上是把module_name1的代碼復(fù)制到*的當(dāng)前文件的位置,文件從上到下解釋執(zhí)行,若文件中有相同方法會(huì)將module_name1中的方法覆蓋,不建議這樣寫(xiě) *可以是變量、方法名 3、from module_name1 import 方法名 -->不建議使用 4、from module_name1 import 原方法名 as 別名 3、import的本質(zhì)(路徑搜索和搜索路徑) 導(dǎo)入模塊:本質(zhì)就是將module_name1模塊中所有的代碼解釋一遍后,賦值給module_name1變量(module_name1 = module_name1.py),import 新文件調(diào)用時(shí)要加 module_name1.變量/方法名。 from …… import * ,直接打開(kāi)文件,將需要的代碼直接使用,直接調(diào)用即可 導(dǎo)入包的文件:本質(zhì)就是執(zhí)行該包下的__init__.py文件 4、導(dǎo)入優(yōu)化 避免重復(fù)檢索模塊下的方法,直接調(diào)用模塊下的方法: """ import module_test def test() module_test.hello( ) #先檢索module_test模塊,再檢索hello()方法 print("hello") """ ------------------------------------------------------------------------------ from module_test import hello def test() hello( ) print("hello") 5、模塊的分類 http://egon09.blog.51cto.com/9161406/1840425 a、標(biāo)準(zhǔn)庫(kù) 1、time與datatime 在Python中,通常有這幾種方式來(lái)表示時(shí)間:1)時(shí)間戳 2)格式化的時(shí)間字符串 3)元組(struct_time)共九個(gè)元素。由于Python的time模塊實(shí)現(xiàn)主要調(diào)用C庫(kù),所以各個(gè)平臺(tái)可能有所不同。 UTC(Coordinated Universal Time,世界協(xié)調(diào)時(shí))亦即格林威治天文時(shí)間,世界標(biāo)準(zhǔn)時(shí)間。在中國(guó)為UTC+8。DST(Daylight Saving Time)即夏令時(shí)。 時(shí)間戳(timestamp)的方式:通常來(lái)說(shuō),時(shí)間戳表示的是從1970年1月1日00:00:00開(kāi)始按秒計(jì)算的偏移量。我們運(yùn)行“type(time.time())”,返回的是float類型。返回時(shí)間戳方式的函數(shù)主要有time(),clock()等。 元組(struct_time)方式:struct_time元組共有9個(gè)元素,返回struct_time的函數(shù)主要有g(shù)mtime(),localtime(),strptime()。下面列出這種方式元組中的幾個(gè)元素 提供對(duì)操作系統(tǒng)進(jìn)行調(diào)用的接口 -高級(jí)的 文件、文件夾、壓縮包 處理模塊 http://www.cnblogs.com/wupeiqi/articles/4963027.html 用于序列化的兩個(gè)模塊
- json,用于字符串 和 python數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換,字典中的數(shù)據(jù)不能直接存在文件中,把python中的數(shù)據(jù)類型轉(zhuǎn)化成字符竄,存在文件中,方便調(diào)用 解決不同平臺(tái)中文件格式的互相交換
- pickle,用于python特有的類型 和 python的數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換。python自己的數(shù)據(jù)間進(jìn)行交換,支持所有的python數(shù)據(jù)類型
Json模塊提供了四個(gè)功能:dumps、dump、loads、load pickle模塊提供了四個(gè)功能:dumps、dump、loads、load 一個(gè)簡(jiǎn)單的key,value將內(nèi)存數(shù)據(jù)通過(guò)文件持久化的模塊,可以持久化任何pickle可支持的python數(shù)據(jù)格式 xml是實(shí)現(xiàn)不同語(yǔ)言或程序之間進(jìn)行數(shù)據(jù)交換的協(xié)議,跟json差不多,但json使用起來(lái)更簡(jiǎn)單,不過(guò),古時(shí)候,在json還沒(méi)誕生的黑暗年代,大家只能選擇用xml呀,至今很多傳統(tǒng)公司如金融行業(yè)的很多系統(tǒng)的接口還主要是xml。 xml的格式如下,就是通過(guò)<>節(jié)點(diǎn)來(lái)區(qū)別數(shù)據(jù)結(jié)構(gòu)的: 修改 刪除 增加 用于加密相關(guān)的操作,3.x里代替了md5模塊和sha模塊,主要提供?SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法?hmac 模塊 正則表達(dá)式 '^'?????匹配字符開(kāi)頭,若指定flags MULTILINE,這種也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE) "foo$""bfoo\nsdfsf"='*'?????匹配*號(hào)前的字符0次或多次,re.findall("ab*","cabb3abcbbac")? 結(jié)果為['abb',?'ab',?'a'] 1"ab+""ab+cd+abb+bba"'ab''abb''?'?????匹配前一個(gè)字符1次或0次 '{n,m}'?匹配前一個(gè)字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 結(jié)果'abb',?'ab',?'abb'] "abc|ABC""ABCBabcCD"'ABC' '(...)'?分組匹配,re.search("(abc){2}a(123|456)c",?"abcabca456c").group() 結(jié)果 abcabca456c "\Aabc""alexabc"'\Z'????匹配字符結(jié)尾,同$ 09 '\D'????匹配非數(shù)字 ---] '\W'????匹配非[A-Za-z0-9] "\s+""ab\tc1\n3"'\t' "(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{4})""371481199306143242""city"'province''3714''city''81''birthday''1993'
b、開(kāi)源模塊 c、自定義模塊
轉(zhuǎn)載于:https://www.cnblogs.com/huangmx-amin/p/5809362.html
總結(jié)
以上是生活随笔為你收集整理的Python成长笔记 - 基础篇 (六)python模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。