Python物件導向程式設計中類別和實例的簡單講解(附範例)
這篇文章帶給大家的內容是關於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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

在CentOS系統上啟用PyTorchGPU加速,需要安裝CUDA、cuDNN以及PyTorch的GPU版本。以下步驟將引導您完成這一過程:CUDA和cuDNN安裝確定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA顯卡支持的CUDA版本。例如,您的MX450顯卡可能支持CUDA11.1或更高版本。下載並安裝CUDAToolkit:訪問NVIDIACUDAToolkit官網,根據您顯卡支持的最高CUDA版本下載並安裝相應的版本。安裝cuDNN庫:前

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

MinIO對象存儲:CentOS系統下的高性能部署MinIO是一款基於Go語言開發的高性能、分佈式對象存儲系統,與AmazonS3兼容。它支持多種客戶端語言,包括Java、Python、JavaScript和Go。本文將簡要介紹MinIO在CentOS系統上的安裝和兼容性。 CentOS版本兼容性MinIO已在多個CentOS版本上得到驗證,包括但不限於:CentOS7.9:提供完整的安裝指南,涵蓋集群配置、環境準備、配置文件設置、磁盤分區以及MinI

在CentOS系統上進行PyTorch分佈式訓練,需要按照以下步驟操作:PyTorch安裝:前提是CentOS系統已安裝Python和pip。根據您的CUDA版本,從PyTorch官網獲取合適的安裝命令。對於僅需CPU的訓練,可以使用以下命令:pipinstalltorchtorchvisiontorchaudio如需GPU支持,請確保已安裝對應版本的CUDA和cuDNN,並使用相應的PyTorch版本進行安裝。分佈式環境配置:分佈式訓練通常需要多台機器或單機多GPU。所

在CentOS系統上安裝PyTorch,需要仔細選擇合適的版本,並考慮以下幾個關鍵因素:一、系統環境兼容性:操作系統:建議使用CentOS7或更高版本。 CUDA與cuDNN:PyTorch版本與CUDA版本密切相關。例如,PyTorch1.9.0需要CUDA11.1,而PyTorch2.0.1則需要CUDA11.3。 cuDNN版本也必須與CUDA版本匹配。選擇PyTorch版本前,務必確認已安裝兼容的CUDA和cuDNN版本。 Python版本:PyTorch官方支

在CentOS上更新PyTorch到最新版本,可以按照以下步驟進行:方法一:使用pip升級pip:首先確保你的pip是最新版本,因為舊版本的pip可能無法正確安裝最新版本的PyTorch。 pipinstall--upgradepip卸載舊版本的PyTorch(如果已安裝):pipuninstalltorchtorchvisiontorchaudio安裝最新
