1. 程式人生 > >Python_專題_( 函式、模組)

Python_專題_( 函式、模組)

函式

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

這裡還是要推薦下小編的Python學習群:483546416,不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2017最新的Python資料和0基礎入門教程,歡迎初學和進階中的小夥伴。在不忙的時間我會給大家解惑。

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

4、內建函式

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

模組

一、模組簡介

模組是實現了某個功能的程式碼集合,比如幾個.py檔案可以組成程式碼集合即模組。其中常見的模組有os模組(系統相關),file模組(檔案操作相關)

模組主要分三類:

  • 自定義模組 :所謂自定義模組,即自己編寫Python檔案組成的模組。

  • 第三方模組 :採用其他人編寫的模組,即第三方提供的模組

  • 內建模組:python內建的模組

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

三、常用內建模組

內建模組是Python自帶的功能,在使用時,需要先匯入再使用

1、sys模組

用於提供python直譯器相關操作

import sys

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

2、os模組

提供系統級別的操作

os.getcwd() 獲取當前工作目錄,即當前python指令碼工作的目錄路徑
os.chdir("dirname") 改變當前指令碼工作目錄;相當於shell下cd
os.curdir 返回當前目錄: ('.')
os.pardir 獲取當前目錄的父目錄字串名:('..')
os.makedirs('dir1/dir2') 可生成多層遞迴目錄
os.removedirs('dirname1') 若目錄為空,則刪除,並遞迴到上一級目錄,如若也為空,則刪除,依此類推
os.mkdir('dirname') 生成單級目錄;相當於shell中mkdir dirname
os.rmdir('dirname') 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir('dirname') 列出指定目錄下的所有檔案和子目錄,包括隱藏檔案,並以列表方式列印
os.remove() 刪除一個檔案
os.rename("oldname","new") 重新命名檔案/目錄
os.stat('path/filename') 獲取檔案/目錄資訊
os.sep 作業系統特定的路徑分隔符,win下為"\\",Linux下為"/"os.linesep 當前平臺使用的行終止符,win下為"\t\n",Linux下為"\n"os.pathsep 用於分割檔案路徑的字串
os.name 字串指示當前使用平臺。win->'nt'; Linux->'posix'os.system("bash command") 執行shell命令,直接顯示
os.environ 獲取系統環境變數
os.path.abspath(path) 返回path規範化的絕對路徑
os.path.split(path) 將path分割成目錄和檔名二元組返回
os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) 返回path最後的檔名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) 如果path是絕對路徑,返回True
os.path.isfile(path) 如果path是一個存在的檔案,返回True。否則返回False
os.path.isdir(path) 如果path是一個存在的目錄,則返回True。否則返回False
os.path.join(path1[, path2[, ...]]) 將多個路徑組合後返回,第一個絕對路徑之前的引數將被忽略
os.path.getatime(path) 返回path所指向的檔案或者目錄的最後存取時間
os.path.getmtime(path) 返回path所指向的檔案或者目錄的最後修改時間

3、hashlib模組

用於加密相關的操作,代替了md5模組和sha模組,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5演算法

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

5、re模組

re提供正則表示式相關操作

字元:

. 匹配除換行符以外的任意字元

\w 匹配字母或數字或下劃線或漢字

\s 匹配任意的空白符

\d 匹配數字

\b 匹配單詞的開始或結束

^ 匹配字串的開始

$ 匹配字串的結束

次數:

* 重複零次或更多次

+ 重複一次或更多次

? 重複零次或一次

{n} 重複n次

{n,} 重複n次或更多次

{n,m} 重複n到m次

match:

match,從起始位置開始匹配,匹配成功返回一個物件,未匹配成功返回None

match(pattern, string, flags=0)

match語法

match示例

search:

search,瀏覽整個字串去匹配第一個,未匹配成功返回None

search(pattern, string, flags=0)

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

6、序列化模組

Python中用於序列化的兩個模組

  • json 用於【字串】和 【python基本資料型別】 間進行轉換

  • pickle 用於【python特有的型別】 和 【python基本資料型別】間進行轉換

Json模組提供了四個功能:dumps、dump、loads、load

pickle模組提供了四個功能:dumps、dump、loads、load

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

7、configparser模組

configparser用於處理特定格式的檔案,其本質上是利用open來操作檔案。

檔名為xxx000的內容如下:

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

具體操作示例如下:

(1)獲取檔案中所有節點import configparser
config = configparser.ConfigParser()
config.read('xxxooo', encoding='utf-8')
ret = config.sections()print(ret)
(2)獲取指定節點的所有鍵值對import configparser
config = configparser.ConfigParser()
config.read('xxxooo', encoding='utf-8')
ret = config.items('section1')print(ret)
(3)獲取指定節點的所有的鍵import configparser
config = configparser.ConfigParser()
config.read('xxxooo', encoding='utf-8')
ret = config.options('section1')print(ret)
(4)獲取指定節點下指定key的值import configparser
config = configparser.ConfigParser()
config.read('xxxooo', encoding='utf-8')
v = config.get('section1', 'k1')# v = config.getint('section1', 'k1')# v = config.getfloat('section1', 'k1')# v = config.getboolean('section1', 'k1')
print(v)
(5)檢查、刪除、新增節點import configparser
config = configparser.ConfigParser()
config.read('xxxooo', encoding='utf-8')
# 檢查has_sec = config.has_section('section1')print(has_sec)
# 新增節點config.add_section("SEC_1")
config.write(open('xxxooo', 'w'))
# 刪除節點config.remove_section("SEC_1")
config.write(open('xxxooo', 'w'))
(6)檢查、刪除、設定指定組內的鍵值對import configparser
config = configparser.ConfigParser()
config.read('xxxooo', encoding='utf-8')
# 檢查has_opt = config.has_option('section1', 'k1')print(has_opt)
# 刪除config.remove_option('section1', 'k1')
config.write(open('xxxooo', 'w'))
# 設定config.set('section1', 'k10', "123")
config.write(open('xxxooo', 'w'))

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料

四、模組

傳送

一個月能入門Python嗎?月薪25K的大佬給我整理了函式和模組資料