面向?qū)ο蟮乃枷耄喝缣崞鹑讼肫鸬氖侨诉@一類(lèi)事物,而人就是一個(gè)class類(lèi)比如說(shuō)小明就是一個(gè)具體的對(duì)象。人所具有的共同的特征就是屬性,人可以做什么就是這個(gè)類(lèi)中所做的行為如下:
# 創(chuàng)建一個(gè)class類(lèi)
class? ?people(object):?
? ? ? ? def? __init__(self, name, age, sex, height):
? ? ? ? ? ? ? ? self.name = name? #? 一個(gè)人所具有的屬性:姓名
? ? ? ? ? ? ? ? self.age = age? # 年齡
? ? ? ? ? ? ? ? self.sex = sex? #? 性別
? ? ? ? ? ? ? ? self.height = height? #? 身高
? ? ? ? ? ? ? ? #? .......還有很多就不一一舉例了都是一個(gè)人的特征
? ? ? ?#? 一個(gè)人的行為可以理解為這個(gè)對(duì)象可以做些什么? ?也叫方法
? ? ? #? 未成年不得進(jìn)入網(wǎng)吧
? ? ? ?def? ?internet(self):
? ? ? ? ? ? ? ? if? self.age > 18:
? ? ? ? ? ? ? ? ? ? print('你已經(jīng)成年可以進(jìn)入網(wǎng)吧,歡迎光臨')
? ? ? ? ? ? ? ? else:
? ? ? ? ? ? ? ? ? ? print('未成年不得入內(nèi)')
? ? ? ?#? 還可以有多種行為就不一一舉例了
#? 在其他的.py文件中可以使用
import? ? .py文件名
#? 來(lái)進(jìn)行導(dǎo)入
#? 創(chuàng)建一個(gè)實(shí)例對(duì)象的語(yǔ)法是
對(duì)象變量名? =? 類(lèi)名()
self代表的是當(dāng)前對(duì)象和Java中的this作用差不多? ??哪個(gè)對(duì)象調(diào)用了方法,方法里的self指的就是誰(shuí)
? ??面向?qū)ο蟮哪Хǚ椒ㄓ纸心g(shù)方法
__init__()這個(gè)方法是在創(chuàng)建對(duì)象是就會(huì)自動(dòng)調(diào)用不需要人為的手動(dòng)調(diào)用
__str__()這個(gè)方法主要用于直接使用print(對(duì)象變量名)可以通過(guò)這個(gè)方法的改寫(xiě)來(lái)正常打印輸出內(nèi)容否則的話(huà)他輸出的是__main__.類(lèi)名 object at 內(nèi)存地址
__del__()這個(gè)方法是在程序結(jié)束是自動(dòng)執(zhí)行的用來(lái)刪除對(duì)象,當(dāng)然手動(dòng)調(diào)用也是可以的如? del? 對(duì)象名? 來(lái)進(jìn)行刪除對(duì)象的
__rerp__()這個(gè)方法和str的應(yīng)用一樣只是str注重的是可讀性而rerp注重的是正確性
__call__()這個(gè)方法是對(duì)象名()來(lái)進(jìn)行執(zhí)行的
面向?qū)ο蟮倪\(yùn)算符
有兩對(duì)象p1和p2 內(nèi)容相同?
p1 == p2? 結(jié)果是False
它內(nèi)部調(diào)用的是__eq__()方法來(lái)進(jìn)行比較的如果進(jìn)行重寫(xiě)的話(huà)那么可以返回兩對(duì)象的內(nèi)容比較結(jié)果
今天就到這里結(jié)束明天繼續(xù)