物件導向之初始類和物件

2022-07-30 07:42:09 字數 2027 閱讀 6993

類專業解釋為: 類指的是一類具有相同屬性和方法的事物的集合。

物件的專業解釋為: 類的例項化為物件

所以, 需要先定義類, 再通過例項化類得到物件

在python中一切皆是物件

類的定義

class

student(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中, 類體**在類的定義階段就會立即執行, 即會產生類的命名空間

class

student(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 物件導向的學習 物件導向的語法的學習 簡單,靠記憶就可以,比較多 面對物件的思想的學習 稍微有一點難度,不太適應 物件導向的優勢 能夠實現良好程式結構,方便程式的開發和管理維護!效率 執行效率 計算機 物件導向效率不如過程化的快 開發效率 程式設計...