面向对象基本知识
面向對象
類是對一群具有相同特征或者行為的事務的一個統(tǒng)稱,不能直接使用的
特征被稱為屬性
行為被稱為方法
類就相當于制造飛機的圖紙,是一個模板,是負責創(chuàng)建對象的
對象就是由類創(chuàng)建出來的一個具體存在,可以直接使用
用哪一個類創(chuàng)建出來的對象,就擁有在哪一個類中定義的方法
在程序中,應該先有類,再有對象
類只有一個,而對象有多個
類
類名
屬性
方法
變量,數(shù)據(jù),函數(shù)都是對象
定義類
class 類名:
?? ?def 方法1(self,參數(shù)列表):
?? ??? ?-pass
?? ?def 方法2(self,參數(shù)列表):
?? ??? ?-pass
創(chuàng)建對象
對象變量=類名()
類的外部給對象增加屬性
1.可以使用 .屬性名 利用賦值語句就可以了(但不推薦使用)
哪一個對象調(diào)用的方法,self就是哪一個對象的引用
初始化對象
當使用類名創(chuàng)建對象時,會自動執(zhí)行以下操作:
1.為對象在內(nèi)存中分配空間? --創(chuàng)建對象
2.為對象的屬性設置初始值? --初始化方法(init)
class Cat:
?? ?def __init__(self):
tom=cat()
使用類名()創(chuàng)建對象的時候,會自動調(diào)用初始化方法__init__
初始化方法中定義屬性 __init__
當一個對象被從內(nèi)存中銷毀前,會自動調(diào)用__del__方法
del關鍵字可以刪除一個對象
__str__:如果在開發(fā)中,希望使用print輸出對象變量時,能夠打印自定義的內(nèi)容,就可以使用__str__這個內(nèi)置方法了
__str__方法必須返回一個字符串
class Cat:
?? ?def __init__(self,new_name):
?? ??? ?self.name=new_name
?? ??? ?print("%s來了" %self.name)
?? ?def __del__(self):
?? ??? ?print("%s 我去了" %self.name)
?? ?def __str__(self):
?? ??? ?return "我是小貓[%s]" % self.name
tom=Cat("Tom")
print(tom)
?? ??? ?
?? ??? ?
?? ??? ?
轉載于:https://www.cnblogs.com/duanzexun/p/10997827.html
總結
- 上一篇: C语言输出格式
- 下一篇: leetcode32 Longest V