摘要:的強大之處在于他有非常豐富和強大的標準庫和第三方庫模塊,幾乎你想實現的任何功能都有相應的庫支持,就類似于中的類庫亦或的包,前端中的庫。提供了一個簡單的方法來導入一個模塊中的所有項目。在啟動時,根據內建規則變量進行初始化。
Python的強大之處在于他有非常豐富和強大的標準庫和第三方庫(模塊),幾乎你想實現的任何功能都有相應的Python庫支持,就類似于C#中的類庫亦或JAVA的jar包,前端中的JS庫。使用模塊有什么好處
其實模塊化這個概念在任何的編程語言中都是存在的,可以想象一下,如果一直在一個文件里面編寫的代碼,那么代碼會越來越長,后期很難維護和升級。
為了編寫可維護的代碼,我們會對代碼進行拆分,分到不同的文件里面,這樣每個文件的代碼量就少了,在python中,一個.py文件就可以理解為一個模塊,模塊之間可以互相引用。
除了可以自己編寫模塊以外python還給我們內置了一些模塊稱為標準庫,還有需要多帶帶安裝的第三方庫
模塊導入方法我們已經知道每一個.py文件其實就是一個模塊,那么我們來動手編寫一個模塊
#內容為module1.py message="hello world" def say(): print("hello")
模塊定義好了在其他文件中入如何導入模塊
import module1
如果導入多個模塊以逗號分隔,如import module_name1,module_name2
#newdemo.py 新創建的py文件中到入模塊,并訪問模塊下方法 #第一種導入方式 import module1 module1.say() #第二種導入方式 from module1 import * say()
運行一下發現上面的兩種導入方式都沒毛病,都可以正常運行,我們來對比下兩種導入方式:
調用方式不同
前者是 將被導入的模塊的名稱放入到當前的模塊內; 而后者 是將被導入的函數或變量的名稱放入到當前操作的模塊內。
from ...import提供了一個簡單的方法來導入一個模塊中的所有項目。然而這種聲明不該被過多地使用。
from ...import導入會和你文件內的函數、變量名稱不能沖突會被覆蓋(解決方案看代碼)
#為了防止名稱沖突,通過as起一個別名 from module1 import say as newsay def say(): print("不是導入模塊的say") say() #自己的 newsay() #引來的
導入模塊我們已經會了,那導入包和導入模塊一樣么,顯然不會一樣
import package_test #導入包的時候會先執行 __init__下的內容 # 在__init__中from . import test1 print(package_test.test1.name)內置模塊
一般情況下它們的存放目錄
標準庫:應該如何使用標準庫:
1.datetime模塊:datetime模塊是對time模塊的一個高級封裝(time包基于C語言的庫函數)
#前面剛說了模塊的不同導入方式,第一種 import datetime print(datetime.datetime.now()) #當前時間 2017-12-27 10:05:16.684310 print(datetime.date.today()) #格式化輸出 2017-12-27 print(datetime.datetime.now()+datetime.timedelta(days=10)) #比現在加10天 print(datetime.datetime.now()+datetime.timedelta(days=-10)) #比現在減10天 print(datetime.datetime.now()+datetime.timedelta(hours=-10)) #比現在減10小時 print(datetime.datetime.now()+datetime.timedelta(seconds=120)) #比現在+120s #第二種 from datetime import datetime print(datetime.now()) #當前時間 2017-12-27 10:05:16.684310
2.random模塊:Python中的random模塊用于生成隨機數
import random print(random.random()) #用于生成一個0到1的隨機符點數: 0 <= n < 1.0 print(random.randint(1,7))#用于生成一個指定范圍內的整數,包含1 和 7 print(random.randrange(1,3))#隨機指定范圍內的整數,不包含3 print(random.choice("lidao"))#隨機字符 print(random.choice(["aa","bb","cc"]))#隨機在列表中取值 print(random.randrange(1,9000)+1000)#生成四位數字驗證碼
3.sys模塊:sys模塊提供了一系列有關Python運行環境的變量和函數
import sys print(sys.platform) #獲取當前執行環境的平臺,如win32表示是Windows 32bit操作系統,linux2表示是linux平臺; print(sys.path) #path是一個目錄列表,供Python從中查找第三方擴展模塊。在python啟動時,sys.path根據內建規則、PYTHONPATH變量進行初始化。 print(sys.builtin_module_names) #返回一個列表,包含內建模塊的名字 print(sys.argv) #可以用sys.argv獲取當前正在執行的命令行參數的參數列表(list) sys.argv[0] 當前程序名 sys.argv[1] 第一個參數
4.os模塊:os模塊包含普遍的操作系統功能,如文件操作、目錄等,與具體的平臺無關
import os print(os.name) #判斷現在正在實用的平臺,Windows 返回 ‘nt"; Linux 返回’posix" print(os.getcwd())#得到當前工作的目錄 os.rename("game.py","game1.py")#文件重命名 print(os.listdir())#指定所有目錄下所有的文件和目錄名 print(os.mkdir("aa"))#創建目錄 print(os.system("dir"))#執行shell命令
當然上面只是簡單讓大家先了解下內置模塊的使用,方法還有很多,后面在案例遇到的時候呢我們再去列出來。
第三方模塊1.xlrd模塊:Python使用xlrd模塊讀寫Excel文件
#第一步:通過pip install xlrd 安裝 #第二步:導入模塊 import xlrd #第三步:讀取數據 data = xlrd.open_workbook("test.xlsx") table=data.sheets()[0] #通過索引順序獲取工作表 print(table.row_values(0)) #整行 print(table.col_values(0)) #整列 print(table.nrows) #行數 print(table.ncols) #列數 #通過循環行列表數據 for i in range(table.nrows): print(table.row_values(i)) print(table.cell(0,0).value) #單元格
2.xpinyin模塊:一個把漢字轉成拼音的模塊
#pip install xpinyin from xpinyin import Pinyin p=Pinyin() print(p.get_pinyin("北京"))
3.Image模塊:Python操作圖像的模塊
from PIL import Image import os #pip install Image im=Image.open("test.jpg") #加載圖像 #im.show() #打開圖片 #創建縮略圖 im.thumbnail((500,500))#thumbnail函數接受一個元組作為參數,分別對應著縮略圖的寬高,在縮略時,函數會保持圖片的寬高比例。如果輸入的參數寬高和原圖像寬高比不同,則會依據最小對應邊進行原比例縮放。 im.save("newtest.jpg","JPEG") #圖像裁剪 region=im.crop((100,100,300,200)) region.save("croptest.jpeg") # 旋轉圖片 # 左旋轉45度 im = im.rotate(45) im.save("rotate-l45.jpeg")
Python有很多非常有意思的模塊和資源,給大家貼一個地址,自己看看哈https://github.com/jobbole/aw...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41124.html
摘要:所以如果像上述這樣引入模塊的時候,調用函數必須加上模塊名通常情況下鼓勵每個語句只導入一個包方便理解和閱讀代碼。 今天我們學習Python的高級特性、模塊和IO操作,通過學習這些,我們可以更快的了解Python,使用Python。 高級特性中會講述列表生成式、生成器、和一些高級函數,學習這些方便我們快速的生成列表,節省我們使用Python的時間,更快的使用Python達成我們的目的。 模...
摘要:下一篇文章標準庫內置函數標準庫語言參考描述了語言的具體語法和語義,這份庫參考則介紹了與一同發行的標準庫。這個庫也包含了內置函數和異常不需要語句就可以在所有代碼中使用的對象。下一篇文章標準庫內置函數 下一篇文章:Python標準庫---1、內置函數 Python 標準庫 Python 語言參考 描述了 Python 語言的具體語法和語義,這份庫參考則介紹了與 Python 一同發行的標...
摘要:一什么是模塊中,一個文件就稱之為一個模塊。所有的內置函數為避免模塊名沖突,又引入了按目錄來阻止模塊沖突的方法,稱為包。例如下列小程序以自建的模塊,編寫一個的模塊。如果在其他地方導入該模塊時,判斷將失敗,即僅在此模塊單獨運行時生效。 一、什么是模塊 Python中,一個.py文件就稱之為一個模塊。那么使用模塊有什么好處呢? (1)提高了代碼的可維護性。(2)代碼不必從零開始,當一個模塊...
閱讀 1246·2021-09-01 10:30
閱讀 2118·2021-07-23 10:38
閱讀 895·2019-08-29 15:06
閱讀 3151·2019-08-29 13:53
閱讀 3277·2019-08-26 11:54
閱讀 1822·2019-08-26 11:38
閱讀 2370·2019-08-26 10:29
閱讀 3128·2019-08-23 18:15