偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python 中九種關(guān)鍵文件類(lèi)型你了解幾個(gè)?

開(kāi)發(fā) 前端
Python 接口文件(帶有擴(kuò)展名的文件.pyi),或稱(chēng)為 Python 存根文件,在使用類(lèi)型提示增強(qiáng) Python 代碼方面發(fā)揮著至關(guān)重要的作用。

當(dāng)你遇到名稱(chēng)以 .ipynb、.pyi、.pyc 等結(jié)尾的 Python 文件時(shí),你是否會(huì)感到困惑?

你想知道所有這些文件類(lèi)型之間的區(qū)別嗎?

在這里云朵君和大家一起了解所有這些 Python 文件類(lèi)型。??

.py文件:標(biāo)準(zhǔn) Python 源代碼

不用多說(shuō),每個(gè)懂 Python 的開(kāi)發(fā)者都會(huì)把 Python 代碼寫(xiě)到文件中.py,直接執(zhí)行就可以了,像這樣:

python filename.py

簡(jiǎn)單地說(shuō),這些.py文件是包含 Python 代碼的可執(zhí)行純文本文件。

.ipynb文件:交互式 Jupyter Notebook

使用該擴(kuò)展保存的 Jupyter Notebooks.ipynb對(duì)于數(shù)據(jù)分析和科學(xué)計(jì)算至關(guān)重要。

這種類(lèi)型的 Python 文件對(duì)于數(shù)據(jù)科學(xué)家來(lái)說(shuō)更加用戶(hù)友好。因?yàn)樗峁┝艘粋€(gè)交互式環(huán)境,用于在單個(gè)文檔中結(jié)合代碼執(zhí)行、數(shù)據(jù)可視化和敘述文本。

Jupyter Notebook 制作的用于數(shù)據(jù)分析的精美 .ipynb 文件示例Jupyter Notebook 制作的用于數(shù)據(jù)分析的精美 .ipynb 文件示例

.pyi文件:使用接口文件進(jìn)行 Python 類(lèi)型提示

Python 接口文件(帶有擴(kuò)展名的文件.pyi),或稱(chēng)為 Python 存根文件,在使用類(lèi)型提示增強(qiáng) Python 代碼方面發(fā)揮著至關(guān)重要的作用。

例如,我們有一個(gè)名為test.py以下程序的 Python 文件:

def multiply(a, b):
    return a * b

print(multiply(2.2, 10))

IDE(我使用的是 PyCharm)或其他 Python 類(lèi)型檢查工具沒(méi)有給它們?nèi)魏晤?lèi)型提示。

現(xiàn)在,創(chuàng)建一個(gè)與.py文件同名的.pyi文件:

在 PyCharm 中創(chuàng)建 Python 存根文件在 PyCharm 中創(chuàng)建 Python 存根文件

如上圖所示,在PyCharm中,我們可以在創(chuàng)建此文件時(shí)直接選擇Python存根文件類(lèi)型。

現(xiàn)在將以下代碼寫(xiě)入test.pyi文件中:

def  multiply ( a: int, b: int ) -> int : ...

如果我們test.py再次打開(kāi)該文件,IDE 會(huì)提醒我們現(xiàn)在不匹配的類(lèi)型:

圖片圖片

它使你的程序類(lèi)型更安全。但是你可能會(huì)問(wèn),為什么不直接在原始 Python 文件(.py文件)中添加類(lèi)型提示呢?

對(duì)于我們的例子,.pyi毫無(wú)疑問(wèn)該文件并不是必要的,可以只在原始函數(shù)定義中聲明int類(lèi)型。

.pyi將類(lèi)型注釋與實(shí)現(xiàn)分離可以使主代碼保持干凈并專(zhuān)注于功能。

更重要的是,為了向后兼容,存根文件可以在不修改原始源文件的情況下為遺留代碼添加類(lèi)型提示。畢竟,修改以前同事寫(xiě)的舊代碼是一件很頭疼的事。??

.pyc文件:編譯后的 Python 字節(jié)碼

當(dāng) Python 腳本作為模塊導(dǎo)入時(shí),解釋器會(huì)將其編譯為字節(jié)碼并將其保存為.pyc文件,可以通過(guò)跳過(guò)不必要的重新編譯來(lái)改善模塊加載時(shí)間。

這種類(lèi)型的文件由解釋器自動(dòng)生成,它包含字節(jié)碼,它是源代碼(相對(duì).py文件)的低級(jí)、與平臺(tái)無(wú)關(guān)的表示形式。

從本質(zhì)上講,字節(jié)碼是 Python 的虛擬機(jī)解釋和執(zhí)行的內(nèi)容。

鑒于它是以二進(jìn)制格式保存的并且不可讀,因此在大多數(shù)情況下我們不需要過(guò)多擔(dān)心.pyc文件。

.pyw文件:Windows GUI Python 腳本

Python 不僅適用于數(shù)據(jù)科學(xué)和后端開(kāi)發(fā)。它也是一種用于圖形用戶(hù)界面 (GUI) 開(kāi)發(fā)的語(yǔ)言。

對(duì)于 Windows GUI,.pyw文件是為其設(shè)計(jì)的特定類(lèi)型的 Python 腳本文件。這些文件用于在不打開(kāi)命令提示符窗口的情況下運(yùn)行 Python 腳本,使其成為 GUI 應(yīng)用程序的理想選擇。

創(chuàng)建.pyw文件很簡(jiǎn)單——只需使用擴(kuò)展名.pyw而不是保存.py腳本即可。.pyw文件可以像.py文件一樣直接運(yùn)行。

例如通過(guò)tkinter編寫(xiě)一個(gè)簡(jiǎn)單的UI組件并將其保存為.pyw文件:

# example.pyw
import tkinter as tk

def greet():
    label.config(text=f"Hello, {entry.get()}!")

root = tk.Tk()
root.title("Greeting App")

label = tk.Label(root, text="Enter your name:")
label.pack()

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Greet", command=greet)
button.pack()

root.mainloop()

要執(zhí)行它,我們只需在 Windows 資源管理器中雙擊該文件即可。或者,我們可以從命令行使用以下命令運(yùn)行它pythonw:

pythonw example.pyw

.pxd 和 .pyx 文件:Cython 源文件和聲明文件

Cython 是一種編程語(yǔ)言,它使為 Python 編寫(xiě) C 擴(kuò)展變得像編寫(xiě) Python 本身一樣簡(jiǎn)單。它是Python 的超集,旨在讓主要用 Python 編寫(xiě)的代碼提供類(lèi)似 C 的性能。

Cython中使用的兩種重要文件類(lèi)型是.pyx和.pxd文件。

  • .pyx文件:這些是包含主要實(shí)現(xiàn)代碼的 Cython 源文件。文件.pyx中的代碼可以是 Python 和類(lèi)似 C 的語(yǔ)法的混合,允許你編寫(xiě)與 Python 無(wú)縫集成的高性能代碼。
  • .pxd文件:這些是 Cython 聲明文件,類(lèi)似于 C 頭文件。它們包含類(lèi)型定義、函數(shù)聲明、變量和可在多個(gè).pyx文件之間共享的類(lèi)。

.pyd文件:Python 動(dòng)態(tài)模塊

.pyd文件是 Python 動(dòng)態(tài)模塊。(不是Cython 的.pxd文件。)

這些文件相當(dāng)于 Windows 上的 DLL(動(dòng)態(tài)鏈接庫(kù))。它允許 Python 與已編譯的 C 或 C++ 代碼交互,從而實(shí)現(xiàn)高性能和低級(jí)系統(tǒng)交互。

要?jiǎng)?chuàng)建.pyd文件,我們通??梢杂?C 或 C++ 編寫(xiě)代碼,然后使用針對(duì) Windows 平臺(tái)的編譯器對(duì)其進(jìn)行編譯。該過(guò)程通常涉及使用 Microsoft Visual Studio 或 MinGW 等工具。

在游戲開(kāi)發(fā)中,高性能游戲引擎和圖形庫(kù)通常利用.pyd文件進(jìn)行渲染和物理計(jì)算。

.pyo文件:優(yōu)化的 Python 字節(jié)碼文件

.pyo文件用于存儲(chǔ)優(yōu)化的字節(jié)碼,通常在使用優(yōu)化標(biāo)志(-O)運(yùn)行 Python 時(shí)創(chuàng)建。

例如,在Python 3.5之前,運(yùn)行test.py如下名稱(chēng)的Python腳本會(huì)生成一個(gè)test.pyo文件:

python-O test.py


注意:從 Python 3.5 開(kāi)始,.pyo不再使用文件,而是將優(yōu)化信息存儲(chǔ)在.pyc文件中。

寫(xiě)在最后

如果你使用 Python 的時(shí)間足夠長(zhǎng),你可能會(huì)遇到所有 9 個(gè) Python 文件擴(kuò)展名。

責(zé)任編輯:武曉燕 來(lái)源: 數(shù)據(jù)STUDIO
相關(guān)推薦

2010-01-05 15:32:33

2023-12-04 15:42:10

類(lèi)型Linux

2025-03-26 00:35:25

2010-04-02 13:15:01

Oracle跟蹤

2023-12-11 13:59:00

YieldPython生成器函數(shù)

2017-01-17 11:09:33

大數(shù)據(jù)關(guān)鍵詞工具

2021-02-05 08:03:52

Java

2022-05-06 16:31:27

人工智能自然語(yǔ)言生物特征識(shí)別

2022-05-05 21:06:33

人工智能計(jì)算機(jī)視覺(jué)自然語(yǔ)言處理

2024-08-06 11:40:57

2024-08-23 09:06:26

2010-03-01 15:34:38

Linux文件類(lèi)型

2010-03-10 09:27:36

Linux鏈接文件類(lèi)型

2023-05-17 12:33:11

AI人工智能

2021-06-11 13:59:22

CSS原子類(lèi)

2019-04-12 14:26:17

Linux命令文件

2025-06-03 01:45:00

2010-01-12 11:37:06

Linux常見(jiàn)文件

2025-01-16 10:41:40

2019-07-11 08:54:24

Redis安全策略
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)