理解抽象:抽像如何在 Python 中工作?

已發表: 2023-04-08

Python 是使用最廣泛的編程語言之一 借助抽象,Python 使用戶可以更輕鬆地更高效地進行編程。 這個概念讓用戶只關注基本信息,隱藏多餘的細節。

目錄

什麼是 Python 中的抽象?

抽像被定義為面向對象程序設計的核心概念。 它幫助您從用戶那裡封裝類的實現數據。Python 中的抽象可以幫助您在不了解其內部工作方式的情況下與類進行交互。它是通過使用抽象接口和類來實現的。

Python 中的抽象進一步指的是通過向用戶隱藏不需要的信息來管理複雜性。因此,簡化了編碼。 用戶僅與類和函數的基本實現進行交互; 內部工作保持隱藏。

本質上,用戶只知道該功能的用途; 他們不知道它是如何實現的。 請注意,抽像不能被實例化,即我們不能為抽像類創建對象。 它使您的代碼更具可擴展性、可讀性和可維護性。 此外,它避免了重複。 只關注主要概念有助於提高工作效率。

抽像如何在 Python 中工作?

抽象的關鍵作用是隱藏代碼的內部工作。 交互是通過基本實現與用戶完成的。 Python 中的抽象概念通過使用抽像類和方法來工作。

抽像類定義為代碼中提到的具有抽象方法的類。 抽象方法沒有任何實現; 所有的實現都在子類中執行。

Python 在初始化變量時使用自變量方法定義。 類方法提供有關類的信息。 此方法必須將 self 聲明為參數以定義即時方法。

您可以通過真實場景輕鬆理解Python 中數據抽象的工作原理 當您在線購物時,您購買產品或將產品添加到購物車,然後付款。 但是,當您單擊可用選項時,它們會在內部執行一些用戶無法實現的功能。 用戶只能看到所需的視圖。 這是通過尋求分層分類的優勢來進行抽像操作的地方,即,複雜的模塊被分割成可管理的部分。

抽像在 Python 中的重要性

以下是抽像如何在 Python 中的不同函數中斷言其重要性,以簡化使用相關語言的編程運行。

  • Python 中的抽像有助於隱藏不相關的類/數據/過程,從而降低編碼複雜度。
  • 它提高了應用程序的效率。
  • Python 中的抽象使用戶能夠創建易於適應的可擴展和靈活的函數。

抽象基類

在Python中,抽象基類是指多個子類的接口的公共應用程序。 簡單來說,它可以作為其他類的藍圖。 第三方可以使用它從插件等實現中受益。

通過定義抽象基類,您可以為各種子類開發通用的應用程序編程接口 (API)。 當在龐大的團隊中工作時,它是有益的,這樣就不需要記住所有的類。 此外,第三方不必提供圖書館的所有課程。

如果您正在使用龐大的代碼庫並且發現很難記住所有類,則可以使用Python 中的數據抽像功能

從世界頂尖大學在線學習數據科學課程 獲得執行 PG 課程、高級證書課程或碩士課程,以快速推進您的職業生涯。

抽像類的功能

與其他高級編程語言不同,Python 不提供自己的抽像類。 您可以使用 Python 的 ABC 方法,它提供了用於定義抽象基類 (ABC) 的基礎和必要工具。 本質上,ABCs 提供了虛擬子類的特性。 它們是不從類繼承屬性的類,仍然可以通過

isinstance() 和 issubclass()。

以下模塊可幫助您開發自己的 ABC。

從 abc 導入 ABC

MyABC 類(ABC):

經過

如上所述,ABC 模塊提供了定義定義ABC 的元類,即ABCMeta,以及使用繼承定義ABC 的輔助類ABC。此外,ABC 模塊提供了@abstractmethod裝飾器來表示抽象方法。 ABC 的定義使得@abstractmethod關鍵字在創建時修飾基類中的抽象方法。 此外,具體方法表示為基類的實現。

下面的Python 抽象示例可以幫助您更好地理解抽像類的功能。

探索我們的熱門數據科學課程

IIITB 的數據科學執行研究生課程 商業決策數據科學專業證書課程 亞利桑那大學數據科學碩士
IIITB 的數據科學高級證書課程 馬里蘭大學數據科學和商業分析專業證書課程 數據科學課程

從 abc 導入 ABC,抽象方法

課程主題(ABC):

定義分數(自己):

經過

英語課(主題):

定義分數(自己):

print("分數是80")

數學課(主題):

定義分數(自己):

print("分數是75")

類科學(主題):

def分數(自己):

print("分數是85")

類文獻(主題):

定義分數(自己):

print("分數是70")

e=英文()

e.score()

米=數學()

分數()

小號=科學()

分數()

l = 文獻()

l.score()

輸出:

分數是80

分數是75

分數是85

分數是70

下面我們來了解一下上面代碼的實現。

我們導入了 ABC 模塊來創建抽象基類。 Subject類繼承了ABC類,定義了一個抽象方法score() 。接下來,我們從各個子類繼承基類,並唯一實現了抽象方法。 創建對象(此處為主題名稱)以調用抽象方法。 最後,每個主題的分數作為輸出提供。

查看我們的免費數據科學課程,在競爭中脫穎而出。

Python 示例中的抽象:實際應用程序

1.網頁抓取

Python 在現實世界中最好的應用之一是網絡抓取。 它表明公司正在抓取大量數據以檢索客戶信息並做出具有成本效益的決策。 抽象概念僅顯示所需信息,從而幫助公司輕鬆訪問客戶數據。 此外,在 Python 編程中使用 Selenium、PythonRequest 和 MechanicalSoup 等工具來開發 Web 抓取應用程序。

2. 機器學習與人工智能

我們可以考慮機器學習和人工智能領域中Python 示例中的抽象。 易於編碼和易於理解抽象概念有助於 Python 處理開發機器學習模型所需的複雜計算。 Pandas、Keras、NumPy 等 Python 庫對機器學習應用程序很有幫助。 此外,Python的抽象概念被用於各種人工智能解決方案,如圖像識別、高級計算、數據處理等。

需要學習的頂級數據科學技能

需要學習的頂級數據科學技能
1個 數據分析課程 推理統計課程
2個 假設檢驗程序 邏輯回歸課程
3個 線性回歸課程 線性代數分析

3.桌面圖形用戶界面

Python 是一種開源、易學、平台無關且穩定的編程語言。 這些方面使 Python 適合創建桌面 GUI。 PyGUI、PyQt 和 WxPython 等工具被廣泛用於高效開發高質量的 GUI。

閱讀我們流行的數據科學文章

數據科學職業道路:綜合職業指南 數據科學職業發展:工作的未來就在這裡 為什麼數據科學很重要? 數據科學為企業帶來價值的 8 種方式
數據科學對管理者的相關性 每個數據科學家都應該擁有的終極數據科學備忘單 你應該成為數據科學家的 6 大理由
數據科學家的一天:他們做什麼? 神話破滅:數據科學不需要編碼 商業智能與數據科學:有什麼區別?

4. 烹飪

如果您想用微波爐加熱餐點,您可能需要按某些按鈕來設置定時器和其他功能。 因此,您會得到一頓溫暖可口的飯菜。 微波爐的內部工作和細節對您是隱藏的。 您只能訪問外部功能來自定義烹飪時間和過程。

帶走

Python 中的抽象通過將復雜性分佈到更小的部分來簡化處理複雜性的過程。 您可以在軟件程序或項目中使用較小的部分,而無需了解它們的功能。 這個概念幫助程序員減少複雜的流程,提高整個工作的效率。

通過追求 upGrad 的Python 編程訓練營,在您的數據科學職業生涯中達到成功的高度 該計劃有助於在行業專家的帶領下開展沉浸式課程,這些專家使用最新的工具和技術來徹底幫助初學者進行編碼。

本課程傳授 SQL 數據庫編程、編程邏輯構建、重要 Python 語法以及使用 Pandas 和 NumPy 庫在 Python 中進行數據庫編程等高要求技能,可幫助您掌握 Python 編程的各個方面。 除了最前沿的課程外,upGrad 還提供了一些額外的好處,如現場互動課程、疑難解答會議、領先行業專家的指導、24/7 全天候學生支持等等!

問:Python 中的抽象和封裝有什麼區別?

Python 中的抽像用於隱藏內部細節並僅顯示功能。 該過程為事物提供名稱,以確保名稱能夠捕捉到函數或整個程序的基本概念。 另一方面,封裝限制了對變量和方法的訪問。 它將數據和程序包裝在一個單元中,以避免它們被意外修改。

問:Python 中的抽像如何幫助您構建可重用代碼?

在 Python 中,抽象過程向用戶隱藏了實現細節。 它能夠隱藏程序功能如何使您的代碼更具可重用性的細節。 這意味著您可以在各種情況下以更通用的方式使用相同的代碼,而不必擔心它在相同的引擎蓋下如何運行。 此外,Python 中的抽象使您的代碼更易於閱讀和理解。

問:Python 的抽像類支持哪些方法?

Python 中的抽像類可以同時支持 Python 中的抽象方法和具體方法。 抽象方法應該在派生類中實現。 具體方法在基類中實現。