007 面向?qū)ο缶幊獭A(chǔ)

1 知識(shí)點(diǎn):Object Oriented Programming (OOP)

類和示例的區(qū)別:群體和個(gè)體的區(qū)別。

萬(wàn)事萬(wàn)物沃呢,皆為對(duì)象。

注意:類是對(duì)象某抓,由類生成的實(shí)例惰瓜,也是對(duì)象。

對(duì)比

面向過(guò)程編程:首先分析出解決問(wèn)題所需要的步驟(即“第一步做什么备禀,第二步做什么奈揍,第三步做什么”),然后用函數(shù)
實(shí)現(xiàn)各個(gè)步驟另患,再依次調(diào)用蛾绎。

面向?qū)ο缶幊?/strong>:不是考慮執(zhí)行過(guò)程鸦列,而是考慮先創(chuàng)建類鹏倘、定義好屬性、方法(是什么和能做什么)

舉個(gè)栗子:奶牛和黃牛都是牛

上面這句話隱含的共識(shí):奶牛和黃牛都屬于牛這個(gè)類骆姐。
屬性(attribute):有什么特征夕吻,比如體重大,都吃草
方法(method):有哪些行為和作用归园,比如能站著睡覺(jué)...

class Computer:

    screen = True

    def start(self):
        print('電腦正在開機(jī)中……')

# 類名首字母大寫
class Chinese:
    # 用賦值語(yǔ)句稚矿,創(chuàng)建類的屬性
    eye = 'black'

    # 創(chuàng)建實(shí)例方法時(shí),不要漏了 self
    def eat(self):
        print('吃飯桥爽,選擇用筷子昧识。')

注:

  1. 類名的首字母要大寫

1.1 關(guān)于 self的解釋

  1. 實(shí)例方法的創(chuàng)建語(yǔ)句,和函數(shù)的定義語(yǔ)句很類似缀去,唯一不同的是:實(shí)例方法中有個(gè)必須放在首位的參數(shù)self
  2. 參數(shù)self的特殊之處:在定義時(shí)不能丟甸祭,在調(diào)用時(shí)要忽略
  3. 參數(shù)self的作用:self會(huì)接收實(shí)例化過(guò)程中傳入的數(shù)據(jù),當(dāng)實(shí)例對(duì)象創(chuàng)建后咏雌,實(shí)例便會(huì)代替self校焦,在代碼中運(yùn)行。

類的實(shí)例化與調(diào)用

Liu_Xiang = Chinese()
print(type(Liu_Xiang))
Liu_Xiang.eat()

self的作用相當(dāng)于先給實(shí)例占了個(gè)位置熏迹,等到實(shí)例創(chuàng)建好就“功成身退凝赛,退位讓賢”,其存在是為了方便數(shù)據(jù)的流轉(zhuǎn)捆昏。

參數(shù)內(nèi)部調(diào)用

# 類名首字母大寫
class Chinese:
    # 用賦值語(yǔ)句毙沾,創(chuàng)建類的屬性
    eye = 'black'

    # 創(chuàng)建實(shí)例方法時(shí),不要漏了 self
    def eat(self):
        print(self.eye)
        print('吃飯寇仓,選擇用筷子烤宙。')

2 初始化方法

定義初始化方法的格式:def __init__(self)
初始化方法的作用在于:當(dāng)每個(gè)實(shí)例對(duì)象創(chuàng)建時(shí),該方法內(nèi)的代碼無(wú)須調(diào)用就會(huì)自動(dòng)運(yùn)行躺枕。

class Chinese:
    def __init__ (self, mouth, eye):
        self.mouth = mouth  # self.不能丟
        self.eye = eye
    
    def body(self):
        print('我有%s張嘴巴' % self.mouth)
        print('我有%s只眼睛' % self.eye)

person = Chinese(1, 2)
person.body()

>>> 我有1張嘴巴
>>> 我有2只眼睛

如果我們需要傳入的數(shù)據(jù)能在類中長(zhǎng)久保存并能被隨時(shí)調(diào)用拐云,初始化方法就是一個(gè)不錯(cuò)的解決方案。

總結(jié):

  1. 面向?qū)ο缶幊踢m合那種較復(fù)雜叉瘩,尤其是持續(xù)更新的代碼薇缅,且將產(chǎn)生巨大的優(yōu)勢(shì)。
  2. 面向?qū)ο缶幊掏北瑢⒋a具體的數(shù)據(jù)和處理方法都封裝在類中蓬痒,讓我們不用完全了解過(guò)程也可以調(diào)用類中的各種方法。

“面向?qū)ο缶幊涛嗌荩瑫?huì)為你打開一個(gè)新的世界”。這就相當(dāng)于段譽(yù)的“北冥神功”趋惨。

3 小練習(xí)

下面的程序就可以一次性調(diào)用兩個(gè)方法惦蚊,因此會(huì)同時(shí)打印兩句話讯嫂。

class Chinese:

    def __init__(self,hometown,region):
        self.hometown = hometown
        self.region = region
        print('程序持續(xù)更新中……')

    def born(self):
        print('我生在%s欧芽。'%(self.hometown))

    def live(self):
        print('我在%s葛圃。'%(self.region))
    
    # 新建方法,調(diào)用上面的兩個(gè)方法(注:方法名可自定義)曲楚。
    def citys(self):
        self.born()
        self.live()

Jame = Chinese('浙江', '上海')
Jame.citys()

自定義一個(gè)復(fù)讀機(jī)機(jī)器人褥符,會(huì)把你的話重復(fù)三遍。

class Robot:
    def __init__(self, robot_name, my_name, sentence):
        self.robot_name = input('Who am I?')
        self.my_name =  input('Who are you?')
        self.sentence = sentence
        print('hello world, tell me what you want')
    
    def say_more(self):
        print(self.sentence)
        print(self.sentence)
        print(self.sentence)
        
robot = Robot('See you')
robot.say_more()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市抡蛙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惋耙,老刑警劉巖熊昌,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婿屹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡届腐,警方通過(guò)查閱死者的電腦和手機(jī)蜂奸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)围详,“玉大人祖屏,你說(shuō)我怎么就攤上這事买羞〖倒眨” “怎么了婉徘?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵咐汞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我几晤,道長(zhǎng)植阴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任憾朴,我火速辦了婚禮众雷,結(jié)果婚禮上做祝,老公的妹妹穿的比我還像新娘。我一直安慰自己混槐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捌刮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芦圾。 梳的紋絲不亂的頭發(fā)上俄认,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音夜焦,去河邊找鬼。 笑死巷波,一個(gè)胖子當(dāng)著我的面吹牛卸伞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播垮耳,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼终佛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼雾家!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起榜贴,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唬党,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后霜浴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蓝纲,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡税迷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慕嚷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嗅辣,死狀恐怖挠说,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛙奖,我是刑警寧澤杆兵,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布拧咳,位于F島的核電站囚灼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏灶体。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望樟结。 院中可真熱鬧,春花似錦碎连、人聲如沸驮履。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恐似。三九已至,卻和暖如春葱椭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背孵运。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工治笨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旷赖。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓等孵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親果录。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咐熙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容