這篇文章帶給大家的內容是關於Python面向程式設計中類別和實例的簡單講解(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
一、preface
物件導向程式設計OOP:object oriented programming。
OOP把物件當作程式的基本單元,一個物件包含了資料和操作資料的函數。 Python是一門物件導向的程式語言,透過物件實現對方法的呼叫。
而物件導向的程式設計把電腦程式視為一組物件的集合,而每個物件都可以接收其他物件發過來的訊息,並處理這些訊息,電腦程式的執行就是一系列訊息在各個對象之間傳遞。
對於物件導向語言,重要的概念是類別和實例。類別是一個抽象的模板,實例是根據類別模板建立的物件。
在python中,所有資料類型都可以視為對象,當然也可以自訂對象。自訂物件資料類型就是物件導向中類別的概念,根據類別來建立物件。
它的三大特色就是:封裝、繼承、多型。
二、類別class
類別是抽象的模板,是一種資料結構。
語法:
class class_name: pass
class class_name(object): pass
說明:
class是關鍵字,類別。類別名稱class_name通常以大寫字母開頭。
object表示該類別是從哪個類別繼承而來。事實上object是所有類別都會繼承的基底類,一般不會顯示寫出。 (我通常會習慣寫上)
例如學生,一個班級會有很多個學生,那對於學生這個集合,會有很多共同的地方,比如說學生的姓名、學號、年級、專業、成績等一系列共同的特性,那麼我們就可以把這些都抽象化成一個學生Student類別。如下:
class Student(object): pass
上面例子,我們先用pass進行演示,表示什麼都不操作。
三、實例instance
透過類別可以建立Student實例,方法如下:
>>> bart = Student() # 变量bart指向的是一个Student的实例 >>> bart <__main__.student> # 类object 实例的内存地址 >>> Student # 类 <class> # 返回的是Student 类的属性 class</class></__main__.student>
對類別的實例,可以進行屬性的綁定。
屬性就是一個物件的資料或是函數元素。例如Student類中學生的姓名、學號等資訊。
透過「據點屬性標識法」來存取。
python是動態語言,根據類別建立的實例可以任意綁定屬性。給實例綁定屬性的方法是透過實例變量,或透過self變數。
>>> bart.name = 'xlp' # 动态给变量绑定属性 >>> bart.name 'xlp'
那屬性是如何實現綁定的呢? __init__()實例方法。
當一個實例被建立後,Python會檢查是否實作了__init__()方法,如果沒有定義該方法,對實例不會施加任何特定的操作,任何需要特殊的操作,需要自己去自訂該方法。即__init()__會被自動調用,不管是預設的還是自訂的。
__init__(self)
1、 該方法的第一個參數永遠都是self,self指向創建的實例本身;
2、 透過該方法,把屬性綁定到self指向的實例;
3、 __init__()方法回傳None;
4、 該方法中,可設定預設參數和位置參數。建立實例時,不能傳入空的參數,必須傳入與方法相符的參數,但self不需要傳入,預設參數根據需要進行傳入與否。
針對第三點:因為實例物件是在自動化建立實例呼叫後返回的,如果定義了建構器__init__(),它不應該傳回任何對象,否則就有可能發生衝突,只能傳回實例。試圖傳回任何非None的其他物件會報TypeError的錯誤:
#檢視實例屬性:dir()
透過內建函數dir (class_name)可以查看類別的屬性,例如:dir(Student1)。也可以存取實例的屬性。自己嘗試印出來看看~
以上是Python物件導向程式設計中類別和實例的簡單講解(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

如何使用正則表達式匹配到第一個閉合標籤就停止?在處理HTML或其他標記語言時,常常需要使用正則表達式來�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6
視覺化網頁開發工具