類和例項
類是建立例項的模板,而例項是乙個乙個具體的物件,每個物件有相同的方法,但各自的資料可能不同。有點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...