python學習記錄 類和例項

2021-08-20 02:17:05 字數 2978 閱讀 8445

類和例項

類是建立例項的模板,而例項是乙個乙個具體的物件,每個物件有相同的方法,但各自的資料可能不同。有點c語言中結構體的意思。

定義乙個例項

class

student

(object):

def__init__

(self, name, score):

self.name = name

self.score = score

建立後可以傳遞引數

>>> bart = student('bart simpson', 59)

>>> bart.name

'bart simpson'

>>> bart.score

59

資料封裝的使用

class

student

(object):

def__init__

(self, name, score):

self.name = name

self.score = score

defprint_score

(self):

print('%s: %s' % (self.name, self.score))

def

get_grade

(self):

if self.score >= 90:

return

'a'elif self.score >= 60:

return

'b'else:

return

'c'

實際操作:

lisa = student('lisa', 99)  兩個不同的例項

bart = student('bart', 59)

print(lisa.name, lisa.get_grade())

print(bart.name, bart.get_grade())

訪問限制

一般的類可以被外部**更改

>>> bart = student('bart simpson', 59)

>>> bart.score

59>>> bart.score = 99

>>> bart.score

99

為了防止更改,在屬性的名稱前加兩個下劃線,也限制了外部**訪問

class

student

(object):

def__init__

(self, name, score):

self._ _name = name

self._ _score = score

defprint_score

(self):

print('%s: %s' % (self._ _name, self._ _score))

為了使得可以訪問,新增get_屬性 函式定義操作,以及更改操作

class

student

(object):

...def

get_name

(self):

return self.__name

defget_score

(self):

return self.__score

def

set_score

(self, score):

self.__score = score

繼承和多型

1.繼承

父類  

class

animal

(object):

defrun

(self):

print('animal is running...')

子類繼承,自動擁有了父類的功能,且可以自己新增功能

class

dog(animal):

def

run(self):

print('dog is running...')

注意:當類與父類存在相同的功能時,父類繼承過來的功能會被子類的所覆蓋

2.多型

子類可以繼承父類的型別,呈現多種類

函式也可以接收類

def

run_twice

(animal):

animal.run()

animal.run()

子類被函式呼叫時,如果函式run了父類的功能,子類會繼承或者覆蓋該功能

獲取物件資訊

type()函式:其返回值是class型別,可以是被物件的型別,指向函式或者類

isinstance()函式:判斷乙個物件是否是某種型別,或者某些型別中的一種

dir() :獲得乙個物件的所有屬性和方法

>>> dir('abc')

['__add__', '__class__',..., '__subclasshook__', 'capitalize', 'casefold',..., 'zfill']

len(): 獲取乙個物件的長度

lower(): 返回小寫的字串

例項屬性和類屬性

由前面可以知道例項屬性可以有self.屬性進行繫結,類該怎麼繫結呢?

class

student

(object):

name = 'student' #直接在class中定義即可

該屬性可以被訪問及更改

python學習 類和例項

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。仍以student類為例,在python中,定義類是通過class關鍵字 class stude...

python學習筆記 類和例項

類 類是一種資料結構,可用於建立例項。一般情況下,類封裝了資料和可用於該資料的方法 python類是可呼叫的物件,即類物件 類通常在模組的頂層進行定義,以便類例項能夠在類所定義的源 檔案中的任何地方被建立。例項初始化 instance classname args.類在例項化時可以使用 init 和...

python 類和例項

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。仍以student類為例,在python中,定義類是通過class關鍵字 class stude...