什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
在用 Python 編寫類時,您可能經常會遇到這個術語'self.'
這是初學者在深入了解 Python 編程語言中面向對象的特性時必須理解的一個重要概念。
參數self
指的是類的當前實例。您可以使用它來訪問屬於該類的屬性和方法。
在本 Python 教程中,我們將探討變量如何self
在 Python 類中發揮關鍵作用。我們還將向您展示如何通過使用self
.
目錄
在 Python 中理解自我
Python 是一種面向對象編程 (OOP)語言,它嚴重依賴於類和對象。因此,在深入研究self
參數之前,我們必須首先了解什麼是面向對象編程。
Python 中的面向對象編程
粉筆寫作——OOP,面向對象編程“data-medium-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg"data- large-file="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" decoding="async" loading="lazy" src="https: //blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg" alt="Python 中的 Self 是什麼。" class="wp-image-206807" width=" 709" height="472" srcset="https://blog.enterprisedna.co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1.jpg 612w, https://blog.enterprisedna.co /wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-300x200.jpg 300w,https://blog.enterprisedna。co/wp-content/uploads/2023/04/istockphoto-147480805-612x612-1-560x372.jpg 560w" sizes="(max-width: 709px) 100vw, 709px">
面向對象的編程幫助程序員通過使用類和對象來模擬現實世界的概念和關係。這導致代碼更加結構化、可重用和可擴展。
將類視為用於創建具有預定義屬性和方法的對象的模板。此外,對像是類的實例,它存儲自己的屬性值並可以訪問類函數。
這兩個概念是許多Python應用程序中的重要構建塊。您可以在有關如何使用 Python Faker 庫輕鬆創建數據的視頻中看到類和對象的工作。
Python Self 的作用
Self
是對 Python 中類實例的引用。它允許您在類的範圍內訪問和修改類的屬性和方法。
self
下面是關於在Python中使用的幾個要點:
Self
不是 Python 語法中的保留關鍵字。您可以使用其他名稱來標識類實例,但這self
是 Python 程序員使用最廣泛和接受的約定。Self
在實例方法中用作第一個參數以引用類的當前實例。self
來區分實例屬性和局部變量,從而使您的代碼更具可讀性並減少錯誤。self
參數。__init__()
如果不這樣做,將導致您的程序拋出一個typeerror
. class Person: def __init__(self): print('welcome') def show_person(): print('I love pandas.') a = Person() b = a.show_person() Traceback (most recent call last): File "person.py", line 10, in trill = b.show_person() ^^^^^^^^^^^^^^^^^^ TypeError: Person.show_person() takes 0 positional arguments but 1 was given
注意:self
您可以通過使用 Python 3 提供的靜態方法功能來避免在函數中使用參數。我們將在後面的部分中對此進行更詳細的介紹。
與自我合作
學習如何使用self
對於在 Python 中構建類非常重要。在本節中,您將學習如何self
在不同的場景中使用類和對象。
使用“__init__()”初始化對象
當創建類的新實例時,__init__()
調用該方法來初始化對象的屬性。該__init__()
方法是類構造函數,它將參數self
作為其第一個參數。
參數self
在此方法中用於將實例屬性與給定參數相關聯。
這是一個例子:
class Person: def __init__(self, name, age): self.name = name self.age = age person1 = Person("Alice", 30)
在此示例中,該方法在對像初始化期間將、和作為參數。參數引用類實例,允許您為正在創建的特定對象設置和屬性。 init
self
name
age
self
name
age
在方法中使用 Self
在類中定義實例方法時,應將其self
作為第一個參數包含在內。這允許您訪問類中的實例屬性和其他方法。
讓我們擴展前面的例子:
class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): print("Hello, my name is " + self.name + " and I'm " + str(self.age) + " years old.") person1 = Person("Alice", 30) person1.introduce()
在此示例中,該introduce()
方法包括self
作為其第一個參數。這使您能夠訪問對象的名稱和年齡屬性並創建個性化介紹。
在代碼中調用方法時,不需要
self
顯式傳遞參數。Python 會自動處理它。
self
通過遵循這些準則並理解Python的用途,初學者可以有效地使用類和對象。這讓他們可以創建易於閱讀和維護的結構良好的代碼。
常見的自我用例
您可以通過多種方式在 Python 代碼中使用關鍵字。通過了解這些用例,您將能夠在您的程序中有效地利用它們。 self
self
讓我們看看其中的一些:
訪問類屬性
的一個主要用途self
是訪問類中的實例屬性。實例屬性特定於從類創建的對象並存儲對象的數據。
Usingself
允許您在類方法中操作或訪問這些屬性。讓我們看一個例子:
class Dog: def __init__(self, name, age): self.name = name self.age = age def display_name(self): print("The dog's name is:", self.name)
在這個例子中,我們曾經self
在方法中訪問 Dog 對象的 name 屬性display_name
。
調用類方法
的另一個常見用例self
是從實例方法中調用其他類方法。這使您可以重用代碼、降低複雜性並提高可讀性。
self
在引用其他方法時必須使用它,因為它確保為特定實例調用正確的方法。考慮以下示例:
class Bird: def __init__(self, species, color): self.species = species self.color = color def show_species(self): print("The bird species is:", self.species) def show_info(self): self.show_species() print("The bird color is:", self.color)
在上面的示例中,我們使用從方法內部self
調用方法。這使我們能夠在一次調用中顯示鳥類的種類和顏色。show_species
show_info
最後,記得在訪問實例屬性和調用類方法時使用self
。了解這些用例後,您將能夠編寫更高效、更有條理的 Python 代碼。
最佳自我實踐
在使用時,self,
您需要遵循一些約定以避免代碼中出現問題和錯誤。這裡是其中的一些。
在哪裡使用自我
定義實例方法時,始終使用self
參數作為第一個參數。這允許您訪問和修改對象的實例屬性並調用類中的其他實例方法。
self
在 Python 中處理對象實例時使用它很重要。使用它可確保一致的行為並允許適當的對象封裝。
例如,考慮以下類:
class MyClass: def __init__(self, my_var): self.my_var = my_var
這裡,方法中使用了self參數__init__
來初始化my_var
對象實例的屬性。這樣,就變成了一個特定於實例的屬性。 my_var
因此,可以在該類的其他方法中使用自引用來訪問和修改它。
自我命名約定
雖然self
是 Python 中用於實例的常規名稱,但從技術上講,您可以使用任何您喜歡的名稱。但是,強烈建議您堅持使用 self 以便與更廣泛的 Python 社區保持清晰和一致。
使用不同的名稱可能會使那些閱讀和使用您的代碼的人感到困惑,尤其是當他們習慣於 Python 庫中的標準命名約定時。
不使用 Self 的地方
我們已經知道self
參數提供了對對象實例的訪問。但是,在某些情況下,類中的某些函數可能不需要訪問對象實例。
在這種情況下,不需要 self 參數。所以,Python 提供了繞過 self 參數的靜態方法特性:
這是一個例子:
class Car: @staticmethod def print_car(): print('Vroom Vroom')
在上面的例子中,@staticmethod
函數裝飾器覆蓋了self
方法中的參數要求。這樣,即使沒有對象實例傳入,該函數仍會運行。
結論
綜上所述,Python 中的 self 參數指的是一個類的實例,允許你訪問它的屬性和方法。作為 Python 開發人員,了解 self 的用途及其在類和對像中的用途非常重要。
通過在代碼中始終如一地使用 self,可以提高可讀性和可維護性,從而提高工作的整體質量。
另外,請記住,雖然您可能會在 Python 中看到頻繁使用的術語 "self"
,但它並不是 Python 的保留關鍵字。這不同於Javascript 和 Java等編程語言,其中"this"
是保留關鍵字。
您可以隨意命名類方法中的第一個參數;“ self
“只是首選的約定。
有一個問題始終困擾著 Python 程式設計師。 self其實是Python中的關鍵字嗎?
與 C++ 等其他程式語言(其中 self 被視為關鍵字)不同,在 Python 中,它是程式設計師傾向於遵循的約定。它基本上是方法定義中的參數。不過,您可以使用任何其他名稱來代替自己,例如 另一個 或 我 或方法的第一個參數的任何其他內容。大多數人建議它的另一個原因是它增強了程式碼的可讀性。
讓我們看一個例子來理解它:
class myClass: def show(another): print(“another 用來代替 self”)
如果將此程式碼與 Python 類別自建構函數的程式碼進行比較,您會發現這裡我們使用了名稱 另一個 。現在讓我們建立此類的物件並查看輸出: 自己的地點
物件 = myClass() object.show()
您可以看到,即使我們使用其他名稱代替 self 變量,程式也能正常運作。它的運作方式與 self 變數完全相同。
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的