Python基礎學習之類的介紹
在Python中,首字母大寫的名稱指的是類別。這個類別定義中的括號是空的,因為我們要從空白建立這個類別。我們寫了一個文件字串,對這個類別的功能作了描述。類別中的函數稱為方法。
以Student類別為例,在Python中,定義類別是透過class關鍵字:
class Student(object) : pass |
class後面緊接著是個類別名,即Student,類別名稱通常是大寫開頭的單詞,緊接著是( object),表示該類別是從哪個類別繼承下來的,通常,如果沒有合適的繼承類,就使用object類,這是所有類別最終都會繼承的類別。
9.1.1建立類別
class Student(object):
def __init__( self, name, score): self.name = name __init__() 是一個特殊的方法,建立新實例時,Python都會自動運行它。開頭和結尾各有 兩個底線 | ,這是一種約定,旨在避免Python預設方法與普通方法發生名稱衝突。在這個方法的定義中,
2.每個與類別相關聯的方法呼叫都會自動傳遞實參self ,它是一個指向實例本身的引用,讓實例能夠存取類別中的屬性和方法。 self 會自動傳遞,因此我們不需要傳遞它。 3.以self 為前綴的變數都可供類別中的所有方法使用,我們也可以透過類別的任何實例來存取這些變數。 4.self.name= name像這樣可透過實例存取的變數稱為屬性
5.物件導向程式設計的一個重要特點就是資料封裝。可以直接在類別的內部定義存取資料的函數,這樣,就把「資料」給封裝起來了。這些
封裝資料的函數是和Student類別本身是關聯起來的,我們稱之為類別的方法.
9.1.2根據類別建立實例
我們通常可以認為首字母大寫的名稱(如Dog )指的是類,而小寫的名稱(如my_dog )指的是根據類別創建的實例。 1、要存取實例的屬性,可使用
句點表示法,我們寫如下程式碼來存取my_dog 的屬性name 的值。
my_dog.name
句點表示法在Python中很常用,這種語法示範了Python如何獲悉屬性的值。 2、根據Dog 類別建立實例後,就可以使用句點表示法來呼叫Dog 類別中定義的任何方法。
3、可依需求根據類別建立任意數量的實例。
9.2使用類別和實例
1.你需要執行的一個重要任務是修改實例的屬性。你可以直接修改實例的屬性,也可以寫法以特定的方式進行修改。
2.類別是建立實例的模板,而實例則是一個具體的對象,各個實例擁有的資料都互相獨立,互不影響;方法就是與實例綁定的函數,和普通函數不同,方法可以直接存取實例的數據;透過在實例上呼叫方法,我們就直接操作了物件內部的數據,但無需知道方法內部的實作細節。和靜態語言不同,Python允許對實例變數綁定任何數據,也就是說,對於兩個實例變量,雖然它們都是同一個類別的不同實例,但擁有的變數名稱都可能不同。
9.2.1為類別設定初始值
類別中的每個屬性都必須有初始值,即使這個值是0或空字串。在某些情況下,如設定預設值時,在方法__init__() 內指定這種初始值是可行的;如果你對某個屬性這樣做了,就無需包含為它提供初始值的形參。
直接在class中定義屬性,這種屬性是類別屬性:
#class Student(object):
# 在編寫程式的時候,千萬不要把實例屬性和類別屬性使用相同的名字,因為相同名稱的實例屬性將屏蔽掉類別屬性,但是當你刪除實例屬性後,再使用相同的名稱,訪問到的將是類別屬性。 9.2.2修改屬性的值可以以三種不同的方式修改屬性的值: 1.直接透過實例進行修改; 2.透過方法進行設定; 3.透過方法進行遞增(增加特定的值)。 9.2.3存取限制1.在Class內部,可以有屬性和方法,而外部程式碼可以透過直接呼叫實例變數的方法來操作數據,這樣,就隱藏了內部的複雜邏輯。 2.如果要讓內部屬性不被外部訪問,可以把屬性的名稱前加上兩個下劃線__,在Python中,實例的變數名稱如果以__開頭,就變成了一個私有變數(private),只有內部可以訪問,外部不能訪問。
3.改完後,對於外部程式碼來說,沒什麼變動,但是已經無法從外部存取實例變數.__name和實例變數.__score了:
4.這樣就確保了外部程式碼不能隨意修改物件內部的狀態,這樣透過存取限制的保護,程式碼更加健壯。但如果外部程式碼要取得name和score,可以為Student類別增加get_name和get_score這樣的方法:
以上是Python基礎學習之類的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章! 本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
![]() 熱AI工具![]() Undresser.AI Undress人工智慧驅動的應用程序,用於創建逼真的裸體照片 ![]() AI Clothes Remover用於從照片中去除衣服的線上人工智慧工具。 ![]() Undress AI Tool免費脫衣圖片 ![]() Clothoff.ioAI脫衣器 ![]() AI Hentai Generator免費產生 AI 無盡。 ![]() 熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
2 週前
By DDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前
By 尊渡假赌尊渡假赌尊渡假赌
![]() 熱工具![]() 記事本++7.3.1好用且免費的程式碼編輯器 ![]() SublimeText3漢化版中文版,非常好用 ![]() 禪工作室 13.0.1強大的PHP整合開發環境 ![]() Dreamweaver CS6視覺化網頁開發工具 ![]() SublimeText3 Mac版神級程式碼編輯軟體(SublimeText3) ![]() 熱門話題![]() PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。 ![]() 在CentOS系統上高效訓練PyTorch模型,需要分步驟進行,本文將提供詳細指南。一、環境準備:Python及依賴項安裝:CentOS系統通常預裝Python,但版本可能較舊。建議使用yum或dnf安裝Python3併升級pip:sudoyumupdatepython3(或sudodnfupdatepython3),pip3install--upgradepip。 CUDA與cuDNN(GPU加速):如果使用NVIDIAGPU,需安裝CUDATool ![]() Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。 ![]() 在CentOS系統上啟用PyTorchGPU加速,需要安裝CUDA、cuDNN以及PyTorch的GPU版本。以下步驟將引導您完成這一過程:CUDA和cuDNN安裝確定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA顯卡支持的CUDA版本。例如,您的MX450顯卡可能支持CUDA11.1或更高版本。下載並安裝CUDAToolkit:訪問NVIDIACUDAToolkit官網,根據您顯卡支持的最高CUDA版本下載並安裝相應的版本。安裝cuDNN庫:前 ![]() Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。 ![]() MinIO對象存儲:CentOS系統下的高性能部署MinIO是一款基於Go語言開發的高性能、分佈式對象存儲系統,與AmazonS3兼容。它支持多種客戶端語言,包括Java、Python、JavaScript和Go。本文將簡要介紹MinIO在CentOS系統上的安裝和兼容性。 CentOS版本兼容性MinIO已在多個CentOS版本上得到驗證,包括但不限於:CentOS7.9:提供完整的安裝指南,涵蓋集群配置、環境準備、配置文件設置、磁盤分區以及MinI ![]() 在CentOS下選擇PyTorch版本時,需要考慮以下幾個關鍵因素:1.CUDA版本兼容性GPU支持:如果你有NVIDIAGPU並且希望利用GPU加速,需要選擇支持相應CUDA版本的PyTorch。可以通過運行nvidia-smi命令查看你的顯卡支持的CUDA版本。 CPU版本:如果沒有GPU或不想使用GPU,可以選擇CPU版本的PyTorch。 2.Python版本PyTorch ![]() CentOS 安裝 Nginx 需要遵循以下步驟:安裝依賴包,如開發工具、pcre-devel 和 openssl-devel。下載 Nginx 源碼包,解壓後編譯安裝,並指定安裝路徑為 /usr/local/nginx。創建 Nginx 用戶和用戶組,並設置權限。修改配置文件 nginx.conf,配置監聽端口和域名/IP 地址。啟動 Nginx 服務。需要注意常見的錯誤,如依賴問題、端口衝突和配置文件錯誤。性能優化需要根據具體情況調整,如開啟緩存和調整 worker 進程數量。 ![]() |