① 約定成俗的類的命名方式:
1)首字母大寫
2)為了與其他進行區分盡量避免使用 『_』,建議採用studenthomework小駝峰的格式
②類的常規格式:
class
student()
:# 定義變數(資料成員)
student_sum =
80#類變數
# 建構函式
def__init__
(self, name, age)
# 其中的self.name 和 self.age稱為例項變數
self.name = name
self.age = age
self.__score =
0# 這個時候score就是私有的,不能使用[物件.score]直接訪問
# 例項方法訪問例項變數( 注意這裡不能直接寫name)
print
(self.name)
# 例項方法訪問類變數
print
(self.__class__.
sum)
defmark
(self,score)
: self.__score = score
if score <0:
retrun "不能輸入負分"
print
(self.name +
"得到的分數為:"
+str
(self.__score)
)# 定義例項方法:類中的方法強制傳入固定引數 self(特徵)
defwrite_homework
(self)
print
("write homework"
)# 定義類方法
@classmethed
defpuls_sum
(cls)
: cls.
sum+=
1# 定義靜態方法
@staticmethed
defadd(x,y)
:print
(x+y)
student = student()
以上為類的例項化,當然這裡例項化的student還沒有意義。詳細的在後面建構函式處解釋
呼叫類下的方法:student.write_homework()
類的最基本作用:封裝
類的最基本原則:類只負責定義和描述乙個事物,但是不執行**
函式 – 方法
變數 – 資料成員
首先對類進行描述記住一句重要的話:資料成員刻畫「學生」行為特徵,方法實現行為
類可以看做乙個模板,通過乙個模板可以產生很多物件(在類例項化之後並給例項化出的變數賦值變為物件;這裡需要怎麼賦值呢?這就引出了建構函式的概念)
在最開例舉的類的常規格式中有乙個方法__init__(self)這是類中的乙個特殊的方法,我們將它稱為建構函式。
建構函式的特點
① 例項化時會自動呼叫建構函式(建構函式也可以被人為呼叫,但是人為呼叫沒有任何意義,所以很少看到人為去呼叫建構函式)
② 建構函式不能返回除none之外的任何值
建構函式的作用
建構函式可以讓類生成不同的物件,一般用來初始化物件的特徵(回答二中的問題)
這個時候我們便可以真正的構建了乙個物件了:student = student(「小明」,18)
二者具體存在什麼區別呢?可以通過兩個列印檢視一下
print(student.name):檢視物件的name為「小明」
print(student.name):檢視類的name為『 』
通過二者的對比可以明顯的看出類變數和例項變數的區別
使用修飾器修飾,如一種**示例
類/靜態方法是不能訪問例項變數的
在python中,私有成員的宣告方法是在成員前新增「__」雙下劃線,此時該成員就不能通過[物件.成員來訪問了];
注意:① 此時對於資料成員的使用時不會儲存,但是本質上此時時動態增加了乙個變數而不是改變了其值
② python中的私有成員實際上是python自己將成員名前面增加了【 _類名】,因此還是可以通過python改變後的值來改變的,這也是python的乙個缺點;(可以通過【物件.__dict__ 】檢視物件中存在的資料成員)
### 父類
class
human()
:# 定義變數(資料成員)
student_sum =
80#類變數
# 建構函式
def__init__
(self, name, age)
# 其中的self.name 和 self.age稱為例項變數
self.name = name
self.age = age
### 子類
class
student
(human)
:def
__init__
(self,school,name,age)
: self.school = school
# 方法一:
#human.__init__(self,name,age)
# 方法二:
super
(student, self)
.__init__(name, age)
python物件導向(類和物件)
物件導向程式設計的2個非常重要的概念 類和物件 物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類 類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件 賓士汽車 類 賓士smart 類 張三的那輛賓士smart 物件 狗...
python物件導向 類與物件
嗯,本學期開始學python物件導向的內容了,唔,前面的內容會在後期有時間慢慢補的。類與物件 我生活中有這樣一句話叫 物以類聚,人以群分 重點是前面那句,什麼是類呢,就是一類事物,比如人類 動物類 這是乙個大的範圍 類是封裝物件的屬性和行為的載體,反過來說,具有相同屬性和行為的一類實體被稱為類 而物...
Python 物件導向 類和物件
類 和 物件 是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在開發過程中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少 在使用物件導向開發前,應該首先分析需求,確定一下,...