© yu_photo/Shutterstock.com

Python 的糟糕是世界上許多科技公司要求他們的員工知道如何使用 Python 編碼的主要原因。開發人員對知識的追求永無止境,每年都需要更多的專業知識來保持競爭力。

在本文中,您將了解 python 最先進的編程範例。無論您精通甚麼語言,面向對象的編程概念都會讓您對代碼結構和軟件架構有全新的理解。

我們將向您展示 Python 中 Oops 的基礎知識,我們希望這會有所啟發

什麼是面向對象編程?

面向對象編程 (Oop) 是一種構建方法被廣泛的開發人員使用,並且在處理大型複雜項目時是一個有用的範例。這是編程世界中的當前範式,而且似乎不會很快改變。

要理解這個發展路徑,首先我們需要定義對象。將對象視為系統的一個單元,該系統的每個部分都有一個基本任務。

例如,您可以將人體視為一個系統,其中每個器官都是一個對象。所有對象總和的最終結果是一個功能正常且健康的人。

在面向對象的編程中,每個對像都必須高效地工作,以便它們共同完成所需的任務。每個對像都包含數據和行為,這兩個參數定義了該對象的工作方式。

在面向對象編程中,類是創建對象的藍圖。每個類都提供可以使用的屬性和方法,您可以使用同一個類創建許多不同的對象。如果這還沒有意義,請不要擔心!我們保證這些示例會讓它變得更容易。

當您定義一個類時,您也構建了一個數據結構。每個類都可以有獨特的方法,這些方法可以讓我們在代碼中使用方便的行為。

一旦定義了類,創建的每個對像都是一個額外的實例,其中包含我們在藍圖。可以這樣想:在現實世界中,我們有“人”類,每個人都是該類的一個實例,其變量是從該類派生的。

所以這一切聽起來不錯,但是我們如何構建一個類呢?首先,讓我們考慮很多人,每個人都有許多屬性,例如姓名、年齡、工作等。類是組織每個人的好方法,您可以在沒有任何實際限制的情況下分配屬性。

我們可以使用關鍵字和分配為具有適當縮進的變量的屬性來創建類。您可以單獨或成組打印每個屬性,然後使用此信息進行進一步開發。本質上,我們通過定義類的屬性來創建類,然後從該類中派生出已經內置了這些屬性的對象。

類語法

讓我們看看創建類的語法是如何工作的:

Python創建類的代碼。

©”TNGD”.com

就是這樣, 很簡單。我們剛剛使用 pass 關鍵字創建了一個名為 Person 的類。 Pass 是一個佔位符,表示代碼最終會去哪裡,讓你可以無誤地運行代碼。

該類已經定義並且可以工作。但是,它仍然不包含任何屬性,所以讓我們添加一些:

定義類的屬性。

©”TNGD”.com

__init__ 方法是我們定義屬性或屬性時的基本工具。它允許您創建一個新的類實例。此外,__init__ 方法使用類中可用的參數定義對象的初始狀態。

由於我們不會在此處深入的原因,第一個參數應該始終是一個名為 self 的變量。請記住:在使用 Python 和 Oop 系統時,縮進非常重要。 __init__ 方法必須縮進四個空格,定義變量的主體必須縮進八個空格。

現在,讓我們在使用屬性時建立一個重要的區別。類屬性是那些對於每個類都相同的屬性的名稱,它們的值是用 __init__ 方法定義的。相反,當您調用 __init__ 方法來構建新對象時,創建的任何屬性都稱為實例屬性。

為什麼?好吧,這些屬性特定於類的特定實例。使用我們的示例,對於 Person 類,所有對像都具有 name 和 age 屬性,但這些參數的值在每個 Person 實例中可能不同。

在此示例中,class 屬性為使用此類創建的所有對象定義了一個全局值(物種)。

為類創建屬性。

©”TNGD”.com

類屬性的語法非常簡單。只需確保在 __init__ 方法之前定義屬性並縮進四個空格即可。另外,永遠記得分配一個初始值。

對象

對像是任何程序員的日常話題。像“Hello, world”這樣的字符串是一個對象。數字或數組也是對象。

換句話說,任何具有狀態和與之關聯的行為的實體都是對象。整數、浮點數和字典是使用 Python 編碼時的典型對象。

三個核心原則定義了一個對象。它的標識:用於將其與其他對象和函數相關聯的唯一名稱。接下來是它的狀態,即存儲在對像中的所有屬性和特性。最後是行為,它由使用該唯一對象的方法組成,以及它如何響應代碼中可用的其他功能。

例如,對象 Person 的身份由其決定姓名。這些屬性是年齡、愛好和工作。該人的行為可以是他們可以實施的任何行動。

代碼示例:方法、類和實例屬性

現在,讓我們看一個代碼示例:

在程序中實現的 Python Oops。

©”TNGD”.com

在上面的代碼中,我們結合了所有屬性和類方法來創建一個相當複雜的對象。現在,我們有一個 Person 類,其中包含一些屬性和操作,我們可以擴展這些屬性和操作以向我們的代碼添加不同的東西。

Python Oops 中的繼承和多態性

當一個類採用另一個類的屬性和方法時,我們稱這個過程為繼承。繼承的類稱為子類,當然,父類是構想其屬性的。

您可以在使用子類時修改、覆蓋或刪除繼承的屬性,而不會影響父母。這個過程可以為我們節省大量時間,並且在我們需要一個略有不同版本的類時非常有用。

多態性是使用類時的另一個有用特性。它允許我們在任何我們喜歡的子類中重用父類的函數。利用多態性是減少代碼長度並使其適應任何情況的好方法。

我們從其他對象獲取的任何函數都像其他函數一樣工作,您只需要分配正確的參數即可。因此,結合繼承和多態性是優化代碼的有趣實踐。

Python 的 Oops 中的封裝

讓我們談談與面向對象編程相關的最後一個大概念。

封裝是一個安全概念,也是任何 Oop 系統正確運行的基本實踐。它基本上包括將數據分類為單獨的單元,以便只能使用正確的關鍵字訪問該數據。

這是防止在任何軟件中意外修改重要數據的便捷方法。

例如,類是一個封裝單元。有關其屬性、函數和方法的信息只能通過類訪問。對象的工作原理是一樣的:如果要改變對象內部的信息,需要調用特定的方法。

面向對象編程的優點是什麼?

在簡而言之,面向對象編程是構建真實對像模型的理想方式,這些對象相互交互,組織起來以提高效率和控制開發。我們已經看到了它提供的部分功能和可能性。

有了 Oops,我們可以設計和處理複雜的信息,然後使用這些數據來構建我們想要的任何功能。我們可以定義對象的構建方式、工作方式以及獲得的行為。

而另一種常見的範式,例如過程式編程,則線性地構建程序(適應性差),而 Oop 則是功能的分支是無窮無盡的。這是,連同它提供的極端適應性,是使用 oops 的主要好處之一。

Python Oops 概念解釋,並附有示例

基本要點是面向對象編程以非線性、適應性和可擴展的方式構建和處理數據。這提高了它的效率,並使基於 oop 的編程語言更易於訪問。

現在您了解了類和對像等工具,它們可以幫助您構建您能想到的任何程序。此外,了解繼承和封裝等概念將為您處理代碼的方式增加很多價值。

這些專業工具會隨著您學習的每個新概念而變得越來越複雜。但是,學習基礎知識將始終確保您擁有堅實的基礎。如果您需要任何進一步的信息,您應該查看 Python 的官方文檔

現在,是時候編寫代碼並嘗試了所有這些概念。祝你好運!

Python Oops 概念解釋和示例常見問題解答(常見問題解答)

我可以給類起任何名稱嗎?

是的,你可以。任何名稱都可以,但清晰、簡潔和描述性的名稱總是更好。

繼承如何工作?

繼承允許我們重用代碼

什麼是面向對象編程?

簡而言之,Oop 是一種編程處理以稱為對象的唯一單元分組的屬性和行為的範例。它建議我們將代碼視為這些對象的可擴展混合體。

方法和函數有什麼區別?

在 Oop 理論中,沒有任何區別。區別在於它們的功能:方法是類實例的一部分。本質上,方法的定義總是存在於類內部。如果不是,我們稱它為一個函數,它可以在 python 中用粒子“def”定義。

oop 在所有語言中的工作方式是否相同?

是也不是。所有基於 oop 的語言的範式都是相同的。但是,有些語言建立在具有高度特定應用程序的其他範例之上。 Java、Javascript、Python 和 C 等最流行的編程語言都以這些 oop 概念為中心。

By Maxwell Gaven

我在 IT 行業工作了 7 年。 觀察 IT 行業的不斷變化很有趣。 IT 是我的工作、愛好和生活。