520對象都沒得?那就來學下Python類與對象

Python中一切皆對象,所以很有必要了解一下類和對象的概念。

類可以看成是抽象的模板,比如:智能手機。對象就是根據這個模板製造出來的實物,比如iPhone ,華爲,小米,OPPO等各種品牌的智能手機。

類定義

類包含屬性和方法,描述具有共同屬性和行爲的一類事物。

通過 class 關鍵字定義類,駝峯命名,類名首字母大寫,見名知意。

下面定義一個簡單的 Students 類


 
#定義類

class Students:

#類屬性

people="students"

#帶self的叫實例方法

def study(self):

print("學生要學習")
加python學習qq羣:775690737  送python零基礎入門學習資料+99個源碼

類屬性和實例方法的調用


 
#打印類屬性

print(Students.people)

#創建實例化對象

Alice=Students()

#實例訪問類屬性

print(Alice.people)



#訪問實例方法study

Alice.study()

Students().study().
加python學習qq羣:775690737  送python零基礎入門學習資料+99個源碼

實例屬性

實例屬性通過實例變量,或者在初始化方法中通過 self 變量綁定。


 
class StudentNew():

def __init__(self, name):#初始化函數,屬於實例方法

self.name = name



s=StudentNew("小明")

s.age=10

#打印實例屬性

print(s.name,s.age)

#修改實例屬性

s.name="小林"
加python學習qq羣:775690737  送python零基礎入門學習資料+99個源碼

繼承

繼承的好處是:子類獲得了父類的全部屬性和方法。

創建一個高中生類,繼承 Students 類。


 
class Senior(Students):

pass


#打印類屬性

print(Senior.people)

#調用study方法

Senior().study()

子類重寫父類的方法


class Senior(Students):

who = "高中生"

def study(self):

print("高中生要學習")



print(Senior.people)

Senior().study()
加python學習qq羣:775690737  送python零基礎入門學習資料+99個源碼

類方法和靜態方法

下面重新創建一個 Students 類。


 
class Students:

people="學生"



#初始化方法

def __init__(self,name):

self.name=name



def study(self):

print("{}{}要學習".format(self.people,self.name))



#靜態方法

@staticmethod

def write(homework):

print("{}作業該寫了".format(homework))



#類方法

@classmethod

def play(cls):

print("{}也要出去玩".format(cls.people))
加python學習qq羣:775690737  送python零基礎入門學習資料+99個源碼

實例方法,靜態方法,類方法的區別:

1.定義區別

實例方法,第一個參數必須是 self ,表示實例化對象本身。

類方法,使用裝飾器@classmethod標識,第一個參數必須是 cls ,表示類對象

靜態方法,使用修飾器@staticmethod標識,不需要定義特殊參數

2.訪問權限

實例方法可以使用類屬性和實例屬性。

類方法可以使用類屬性,不能使用實例屬性。

靜態方法不能使用類或實例的任何屬性和方法。

3.三者的調用的區別

調用實例方法必須先實例化對象


 
s=Students("小明")

s.study()

靜態方法,類方法可以使用實例對象和類對象(類名)去訪問


s.write("語文")

Students.write("語文")

s.play()

Students.play()
加python學習qq羣:775690737  送python零基礎入門學習資料+99個源碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章