⑴ python源程序執行的方法
具體如下:
在命令行輸入ipython或ipython3進入互動式shell環境;在命令行窗口輸入python【官方的shell】;集成開發環境,PyCharm類似IDEA。
Python由荷蘭數學和念桐計算機科學研究學會的GuidovanRossum於1990年代初設計,作為一門叫做ABC語言的替代品。Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用於獨立的、大型項目的開發。Python解釋器易於擴展,可以使用C或C++(或者其他可以通過C調用的語言)擴展新的功能和數據類型。Python也可用於可定製化軟體中的擴展程序語言。Python豐富的標准庫,提供了適用於各個主要系租升統平台的源碼弊高老或機器碼。
⑵ Python基礎編程——標准庫之fileinput與time模塊
在前一節我們介紹了標准庫的sys模塊和os模塊,本節將介紹標准庫的fileinput模塊和time模塊。
fileinput模塊能夠讓我們輕松地迭代一系列文本文件中的行。
fileinput模塊中一些重要的函數,也是我們在實際開發中需要經常用到的,具體如下表所示:
fileinput.input(): fileinput模塊中最重要的函數,它返回一個可在for循環中進行迭代的對象。
fileinput. filename(): 返回當前文件(即正在處理的行所屬的文件)的文件名。
fileinput. lineno(): 返回當前行的編號。
fileinput. filelineno(): 返回當前行在當前文件中的行號。
fileinput. isfirstline(): 在當前行為當前文件中的第一行時返回True,否則返回False。
fileinput. isstdin():在當前文件為sys.stdin時返回True,否則返回False。
fileinput. nextfile():關閉當前文件並跳到下一個文件,且計數時忽略跳過的行。
fileinput. close():關閉整個文件鏈並結束迭代。
上面關於介紹的fileinput模塊中的函數的實例用法如下my_fileinput.py程序所示:
time模塊包含用於獲取當前時間、操作時間和日期、從字元串中讀取日期、將日期格式化為字元串的函數。日期可表示為實數,也可表示為包含9個整數的元組。例如,元組(2021, 6, 8, 22, 13, 56, 1, 21, 0)表示2021年6月8日22時13分56秒。日期元組中各欄位含義如下表所示:
秒的取值范圍為0~61,這考慮到了閏一秒和閏兩秒的情況。夏令時數字是一個布爾值(True或False),但如果你使用-1,那麼mktime[將時間元組轉換為時間戳(從新紀元開始後的秒數)的函數]可能得到正確的值。
模塊time中有一些重要的函數,也是我們在實際開發中需要經常用到的,具體如下表所示:
time.asctime(): 將當前的時間轉換成字元串形式,如果不想使用當前時間,也可以傳遞一個時間元組作為參數。如果要使用更復雜的時間格式化,可以使用strftime()函數。
time.localtime(): 將一個實數轉換成時間元組(這里是本地時間),如果要轉換成國際標准時間,應該使用time.gmtime()函數。需要注意這里的實數是一個從新紀元開始後的秒數,世界新紀元指的是 1970年1月1日0時0分0秒,如果是本地新紀元的話,需要加上本地的時區時間。
time.mktime(): 將時間元組轉換成從新紀元開始後的描述,這與time.local()函數功能相反。
time.sleep(): 讓解釋器等待指定的秒數,即程序暫停指定的秒數。
time.strftime(): 將時間元組按照指定的格式轉換成字元串格式。常用的格式符有:%Y表示年,%m表示月,%d表示日,%H表示時,%M表示分,%S表示秒。更多格式符可參考官方標准文檔。
上面關於介紹的time模塊中的函數的實例用法如下my_time.py程序所示:
注意:另外還有兩個較新的關於時間的模塊:datetime和timeit,大家可執行查閱相關文檔。
本節主要介紹了以下內容:
如果有需要文中小程序的可以私信我喲!
歡迎大家轉發、評論!
#Python# #python# #Python基礎# #python打卡# #Python編程從入門到實踐#
⑶ Python 常用的標准庫以及第三方庫有哪些
Python常用庫大全,看看有沒有你需要的。
環境管理
管理 Python 版本和環境的工具
p – 非常簡單的互動式 python 版本管理工具。
pyenv – 簡單的 Python 版本管理工具。
Vex – 可以在虛擬環境中執行命令。
virtualenv – 創建獨立 Python 環境的工具。
virtualenvwrapper- virtualenv 的一組擴展。
包管理
管理包和依賴的工具。
pip – Python 包和依賴關系管理工具。
pip-tools – 保證 Python 包依賴關系更新的一組工具。
conda – 跨平台,Python 二進制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分發的新標准,意在取代 eggs。
包倉庫
本地 PyPI 倉庫服務和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 鏡像工具。
devpi – PyPI 服務和打包/測試/分發工具。
localshop – 本地 PyPI 服務(自定義包並且自動對 PyPI 鏡像)。
分發
打包為可執行文件以便分發。
PyInstaller – 將 Python 程序轉換成獨立的執行文件(跨平台)。
dh-virtualenv – 構建並將 virtualenv 虛擬環境作為一個 Debian 包來發布。
Nuitka – 將腳本、模塊、包編譯成可執行文件或擴展模塊。
py2app – 將 Python 腳本變為獨立軟體包(Mac OS X)。
py2exe – 將 Python 腳本變為獨立軟體包(Windows)。
pynsist – 一個用來創建 Windows 安裝程序的工具,可以在安裝程序中打包 Python本身。
構建工具
將源碼編譯成軟體。
buildout – 一個構建系統,從多個組件來創建,組裝和部署應用。
BitBake – 針對嵌入式 linux 的類似 make 的構建工具。
fabricate – 對任何語言自動找到依賴關系的構建工具。
PlatformIO – 多平台命令行構建工具。
PyBuilder – 純 Python 實現的持續化構建工具。
SCons – 軟體構建工具。
互動式解析器
互動式 Python 解析器。
IPython – 功能豐富的工具,非常有效的使用互動式 Python。
bpython- 界面豐富的 Python 解析器。
ptpython – 高級互動式Python解析器, 構建於python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的網際郵件擴充協議)類型檢測。
imghdr – (Python 標准庫)檢測圖片類型。
mimetypes – (Python 標准庫)將文件名映射為 MIME 類型。
path.py – 對 os.path 進行封裝的模塊。
pathlib – (Python3.4+ 標准庫)跨平台的、面向對象的路徑操作庫。
python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 介面。
Unipath- 用面向對象的方式操作文件和目錄
watchdog – 管理文件系統事件的 API 和 shell 工具
日期和時間
操作日期和時間的類庫。
arrow- 更好的 Python 日期時間操作類庫。
Chronyk – Python 3 的類庫,用於解析手寫格式的時間和日期。
dateutil – Python datetime 模塊的擴展。
delorean- 解決 Python 中有關日期處理的棘手問題的庫。
moment – 一個用來處理時間和日期的Python庫。靈感來自於Moment.js。
PyTime – 一個簡單易用的Python模塊,用於通過字元串來操作日期/時間。
pytz – 現代以及歷史版本的世界時區定義。將時區資料庫引入Python。
when.py – 提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。
文本處理
用於解析和操作文本的庫。
通用
chardet – 字元編碼檢測器,兼容 Python2 和 Python3。
difflib – (Python 標准庫)幫助我們進行差異化比較。
ftfy – 讓Unicode文本更完整更連貫。
fuzzywuzzy – 模糊字元串匹配。
Levenshtein – 快速計算編輯距離以及字元串的相似度。
pangu.py – 在中日韓語字元和數字字母之間添加空格。
pyfiglet -figlet 的 Python實現。
shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 轉換形式 。
uniout – 列印可讀的字元,而不是轉義的字元串。
xpinyin – 一個用於把漢字轉換為拼音的庫。
⑷ Python源碼是什麼意思
源代碼是指原始代碼,可以是任何語言代碼。Python源碼就是指編寫的最原始程序的代碼。運行的軟體是要經過編寫的,程序員編寫程序的過程中需要他們的「語言」。
⑸ 如何查看python庫函數的代碼
python 所有版本的源代碼可以在這里下載到:
https://www.python.org/downloads/source/
python沒有像matlab那樣的函數可以直接查看某個函數的源代碼,只有去下載整個源代碼查看了,不過找起來應該也不難,另外你也可以寫一個小程序來查看對應函數的源代碼。
Python的函數調用方式是通過import來調用的對應的py文件。
庫函數有內建函數build_in(會寫python的時候已經可以不用看了,不會寫的時候看也看不懂),和通過pip直接下載或者github上下載再安裝的函數。本質上都是py文件。後者有時候由於環境的不同需要自行修改(這種情況較少),一般在安裝路徑下"Libsite-packages"文件夾中存在。
學習庫函數最好的方法是看網上官方的幫助文檔,此外還可以通過python自帶的dir()方法查看所有的屬性和方法,或者用help()方法查看幫助文檔(部分別人造的輪子不一定有)。
另外推薦使用ipython,Python創始人之一的成員編寫的互動式系統。
⑹ python是什麼語言
python屬於解釋型語言。
python的優勢:python編寫簡單、擁有豐富的庫。代碼易讀,易維護。(python規定強制用空白符作為語句縮進),有一個在美國工作的朋友對我說,美國的六歲小孩子都在用python編程。足見python的簡單性。芹辯庫方面很豐富,有成千上萬的python庫。
⑺ 如何查看python標准庫源代碼
:help相應的mole,例如stat位於os mole,那麼可以help(os),出現如上圖的結果,其中FILE就是其源文件位置,當然,如果這個mole是c mole,那就看不到相應的源碼了。
⑻ 我想知道如何查看python的源代碼
查看腳本的話(python中部分函數是直接用C語言嵌入的,要在官網上搜C源碼),可以使用Pycharm,或者其他IDLE,比如我想查看python中TensorFlow包的Session函數:
任意在pycharm內的一個.py文件中,輸入這個函數
import tensorFlow as tf #載入包並命名為tf
tf.Session()
然後按住Ctrl按鈕,左鍵單擊Session,就自動打開了對應.py文件
另外一種方法是直接在python本地庫中找對應的.py文件,(可以用help函數先搜索)
⑼ Python標准庫(3)—filecmp
filecmp模塊用來比較目錄、文件是否相同。舉例如下:
構建兩個文件夾,其結構如圖所示:
其中data內容保持一致,data1內容不一致,data2是tmp獨有,readme1和readme內容一致。
如果單純比較兩個文件是否相同,可以通過filecmp.cmp(f1, f2, shallow=True)實現。其中f1、f2是文件名,shallow=True,則通過文件的元信息比較是否一致,如果是False,則比較兩個文件內容。
如果非遞歸比較兩個目錄中的一組文件,可以選擇通過filecmp.cmpfiles(dir1, dir2, common, shallow=True)實現。其中dir1、dir2是兩個文件夾,common是list,裡面是需要比較的共同文件名稱。
對於大目錄樹的遞歸比較或者更完整的分析,可以選擇使用dircmp類。
整體效果:
⑽ python代碼解釋
Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注於解決問題而不是去搞明白語言本身。易學
Python極其容易上手,因為Python有極其簡單的語法。免費、開源
Python是FLOSS(自由/開放源碼軟體)之一。使用者可以自由地發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS是基於一個團體分享知識的概念。高層語言
用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內存一類的底層細節。可移植性
由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工作在不同平台上)。這些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基於linux開發的android平台。解釋性
一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。運行程序的時候,連接/轉載器軟體把你的程序從硬碟復制到內存中並且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。在計算機內部,Python解釋器把源代碼轉換成稱為位元組碼的中間形式,然後再把它翻譯成計算機使用的機器語言並運行。這使得使用Python更加簡單。也使得Python程序更加易於移植。面向對象
Python既支持面向過程的編程也支持面向對象的編程。在「面向過程」的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在「面向對象」的語言中,程序是由數據和功能組合而成的對象構建起來的。可擴展性
如果需要一段關鍵代碼運行得更快或者希望某些演算法不公開,可以部分程序用C或C++編寫,然後在Python程序中使用它們。可嵌入性
可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。豐富的庫
Python標准庫確實很龐大。它可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、資料庫、網頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、Tk和其他與系統有關的操作。這被稱作Python的「功能齊全」理念。除了標准庫以外,還有許多其他高質量的庫,如wxPython、Twisted和Python圖像庫等等。規范的代碼
Python採用強制縮進的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進制代碼。