類專業解釋為: 類指的是一類具有相同屬性和方法的事物的集合。
物件的專業解釋為: 類的例項化為物件
所以, 需要先定義類, 再通過例項化類得到物件
在python中一切皆是物件
類的定義
classstudent(object):
stu_school = '
hnie
'count =0
def__init__
(self, name, age, gender):
student.count += 1self.name =name
self.age =age
self.gender =gender
deftell_stu_info(self):
print('
學生資訊: 名字: %s 年齡: %s 性別: %s
' %(
self.name,
self.age,
self.gender
))defset_info(self, name, age, gender):
self.name =name
self.age =age
self.gender = gender
類是物件相似資料與功能的集合體, 所以類中最常見的是屬性與函式的定義, 但是類體中其實是可以包含任意其他**的。
在python中, 類體**在類的定義階段就會立即執行, 即會產生類的命名空間
classstudent(object):
print('
====>')
#執行這段**的時候, 就會輸出"====>",
使用內建方法__dict__訪問類中的屬性和方法
print(student.__dict__)print(student.__dict__['
stu_school
']) #
hnie
print(student.__dict__['
set_info
']) #
再呼叫類產生物件
stu1_obj =student()stu2_obj =student()
stu3_obj = student()
但是, 這時候呼叫類引數的物件為三個空物件, 即沒有任何的屬性和方法
print(stu1_obj.__dict__) #{}print(stu2_obj.__dict__) #
{}print(stu3_obj.__dict__) #
{}
可以通過__dict__給物件新增屬性
stu1_obj.__dict__['stu_name
'] = '
featherwit
'stu1_obj.
__dict__['
stu_age
'] = 18stu1_obj.
__dict__['
stu_gender
'] = '
male
'print(stu1_obj.__dict__)
很顯然, 這種賦值方式是很複雜的, python語言是動態的語言, 所以可以通過動態的方式給物件賦值, 這正是python語言的魅力所在
stu1_obj.stu_name = 'featherwit'#
stu1_obj.__dict__['stu_name'] = 'featherwit'
stu1_obj.stu_age = 18 #
stu1_obj.__dict__['stu_age'] = 18
stu1_obj.stu_gender = '
male'#
stu1_obj.__dict__['stu_gender'] = 'male'
print(stu1_obj.__dict__)
物件導向之初識類與物件
在一片蒼茫的草地上生活著一群無憂無慮的小豬,他們有著粉粉嫩嫩或者黑不溜秋的 圓圓的鼻孔 大大的耳朵,非常惹人喜愛。定睛一看,有的豬正在舒適的窩裡睡覺,有的正在夕陽下奔跑 國產的豬就是勤快 有的正為豬生大事而在談戀愛。那麼問題來了,這跟類和物件有什麼關係呢?對,你可能猜到了,我們將這群小豬抽象成為豬類...
物件導向 物件和類
類和物件使物件導向程式設計技術中的最基本概念。是現實或思維世界中的實體在計算中的反映,它將資料以及這些資料上的操作封裝在一起。類是抽象的,是建立例項物件的模板 是具有類型別的變數 是乙個乙個具體的例項 物件中包含類的屬性和方法 類和物件的區別就是 魚和三文魚 貓和藍貓的區別。class 類名稱 cl...
物件導向 物件和類
物件導向 object oriented 簡稱oo 物件導向的學習 物件導向的語法的學習 簡單,靠記憶就可以,比較多 面對物件的思想的學習 稍微有一點難度,不太適應 物件導向的優勢 能夠實現良好程式結構,方便程式的開發和管理維護!效率 執行效率 計算機 物件導向效率不如過程化的快 開發效率 程式設計...