在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中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

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分詞工具來處理文�...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

WebStorm Mac版
好用的JavaScript開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。