1、類的建立
語法:
class 類名():
#類的屬性
name = '喵醬'
#類的方法
def joke(self):
print('建立類成功')
2、類的例項化
語法:例項名 = 類名()
列如:
my_captain = captain()
意義:建立乙個例項,它可以呼叫所屬類的所有屬性和方法 知識點:
3、self引數
4、__init__
方法
類的使用
1、繼承語法:classa(b)
其中a代表子類,b代表父類 對於子類來講,它能夠繼承父類所擁有的屬性和方法
2、類的多重繼承
在python當中,定義乙個類的時候可以同時繼承多個父類,這種方式被稱為多重繼承
例如:
# 垃圾類
class waste():
w_name = '垃圾'
# 『垃圾』類的乙個方法:**垃圾
def recycle_w(self):
print('**垃圾...')
# 『有害垃圾』類
class hazardouswaste(waste): # 括號中填寫父類的變數名
hw_name = '有害垃圾'
# 『有害垃圾』類的乙個方法:**有害垃圾
def recycle_hw(self):
print('**有害垃圾...')
# 建立『有害垃圾』類的例項hw
hw = hazardouswaste()
print('子類的例項hw與父類的是否存在關聯:')
print(isinstance(hw, waste))
print('子類的例項hw與『object』類的是否存在關聯:')
print(isinstance(hw, object))
print('結論:子類預設繼承『object』類,與其存在關聯!')
執行**後可以看到:hazardouswaste(waste)
雖然只寫了乙個父類waste
,卻與object
存在關聯關係 這也印證了python中所有的類都預設繼承於object
。換句話說,object
是所有類的'父類'
3、類的重寫
什麼是類的方法重寫呢?當我們在定義類的方法時,方法的名字和父類的一樣,修改了其內容,就是類的方法重寫
動物中偶爾會出現變異的情況:假如有不會爬樹的貓。就可以重新分類為'變異貓'類
這裡定義乙個'貓'類和'變異貓'類,並修改了『變異貓』類的爬樹方法
# 『貓』類
class cat():
name = '貓'
# 爬樹方法
def climb_tree(self):
print('可以爬樹!')
# 『變異貓』類
class variationcat(cat):
v_name = '變異貓'
# 爬樹方法
def climb_tree(self):
print('不可以爬樹!')
print('『變異貓』的例項:')
# 『變異貓』類的例項vc
vc = variationcat()
# 呼叫爬樹方法
print('變異貓的爬樹方法:')
vc.climb_tree()
# 呼叫父類name屬性
print('變異貓父類的name屬性:')
print(vc.name)
print('變異貓自己的v_name屬性:')
print(vc.v_name)
print('變異貓,同樣是『貓』,但是『不可以爬樹!』')
print('-------------------------------------------')
print('『貓』的例項:')
# 『貓』類的例項c
c = cat()
# 呼叫爬樹方法
print('貓的爬樹方法:')
c.climb_tree()
# 呼叫name屬性
print('貓的name屬性:')
print(vc.name)
print('雖然子類『變異貓』修改了climb_tree()方法,但是父類完全不受影響,依然『可以爬樹!』')
可以看到,子類『變異貓』類修改了『爬樹』方法,對『貓』類完全不影響。這就造就了『變異貓』類不會爬樹的結果,但是『貓』類依然可以爬樹
類的重寫總結:
python學習第12天
一.迭代器 1.概念 迭代器指的是迭代取值的工具,迭代是乙個重複的過程,每次重複都是基於上一次的結果而繼續,單純的重複不是迭代 2.特徵 不依賴索引,通過next指標迭代所有資料,一次只取乙個,可以大大節省空間,迭代無限量的資料 3.可迭代物件 如果成員中含有 iter 這個方法,就是可迭代物件 d...
學習kotlin第12天 lambda表示式
繼續昨天的,從昨天的第14個坑開始。坑1 以map為例。文件上為如下 呼叫時由於 lambda 表示式在圓括號以外,而圓括號中已無其它引數,故可以省略 fun list map transform t r list fun main args array println doubled 在idea中...
python第25天 學習python第25天
今天是在尚學堂學習python第25天今天學習了使用者管理,許可權管理 使用者管理 1.使用者的登入與退出 語法 mysql h hostname p port u username p dbname e h hostname 指定要連線mysql的主機名或者ip hostname就是具體的主機名或...