Python2018-07-24

菜鳥學(xué)python
今天,本菜鳥學(xué)到了Python里面的 面對(duì)對(duì)象,糾結(jié)了一天,現(xiàn)在對(duì)今天學(xué)到的東西做了總結(jié)和分析,希望對(duì)你們有用!
面向?qū)ο蟾攀?/p>

朋友-> 數(shù)量少!#
-> 朋友越來越多,好朋友、普通朋友、一般朋友..
-> 朋友逐漸增加,閨蜜、知己、藍(lán)顏、紅顏...
-> 分類
人-> 認(rèn)識(shí)世界
周圍的事情簡單(上小學(xué),交作業(yè))-> 一個(gè)一個(gè)記憶
周圍的事情-復(fù)雜(上大學(xué)、貸款)-> 做事情的步驟
周圍的事情-極度復(fù)雜(生活-進(jìn)入社會(huì))-> 思考[三思而后行]
代碼->還原過程
簡單的代碼操作-> 基礎(chǔ)語法,堆疊功能[變量、數(shù)據(jù)類型、運(yùn)算、if 、while]
函數(shù)式編程-> 將所有要處理的事情,開始封裝成具備一定處理功能的函數(shù),調(diào)用執(zhí)行:
面向過程編程:面向~設(shè)身處地?fù)Q位思考--面向過程
開發(fā)人員~當(dāng)你在完成這件事情時(shí)需要按照什么樣的步驟進(jìn)行操作
將這樣的操作步驟封裝在函數(shù)中,通過函數(shù)可以調(diào)用執(zhí)行
這樣的開發(fā)操作~代碼中封裝了大量的包含處理步驟的函數(shù)——面向過程編程
適合中小型項(xiàng)目開發(fā);大型項(xiàng)目開發(fā)[代碼的邏輯處理方式不夠成熟,導(dǎo)致代碼高耦合!]
面向?qū)ο缶幊?> 對(duì)面向過程編程的補(bǔ)充和完善
通過對(duì)象和對(duì)象之間的交互協(xié)作完成項(xiàng)目功能的開發(fā)
面向?qū)ο螅好嫦颍?br> 對(duì)象:
面向?qū)ο螅喝f物皆對(duì)象
對(duì)象:類型、特征、行為
分門別類:按照大量事物的外觀特征和行為操作,將不同的事物分成不同的類型,方便區(qū)分
類型 vs 事物 什么關(guān)系?

類型:是一個(gè)名稱、是一個(gè)概念、是一個(gè)稱呼;
    是從大量有相似外觀特征和相似行為的事物中抽象出來的
    如:車、人、美女、衣服、鞋子、電腦、桌子、凳子..
    類型: 數(shù)據(jù)類型的簡稱!自定義數(shù)據(jù)類型

事物:是某種類型具體存在的,有具體特征的、有具體行為的物體!
    屬于某種類型的-> 屬于某種數(shù)據(jù)類型的
    有具體的外觀特征
    有具體的行為操作

面向?qū)ο螅捍a體現(xiàn)
類型 vs 對(duì)象

1.類型:代碼中可以通過class關(guān)鍵字,自定義一個(gè)數(shù)據(jù)類型

(1)數(shù)據(jù)類型:簡稱類型:簡稱類-> 自定義數(shù)據(jù)類型-> 自定義 類

(2)基本語法:
    class 類型名稱:
        類型中的代碼
(3)類型名稱命名規(guī)范:見名知意、駝峰命名法[一個(gè)或者多個(gè)英文單詞組成、每個(gè)單詞首字母大寫]

(4)類型:通過項(xiàng)目中需要的大量有相似特征和行為的對(duì)象,抽象出來的一個(gè)數(shù)據(jù)類型

2.對(duì)象:
 對(duì)象:有具體特征和行為操作的事物
    代碼:有具體(特征)屬性和(行為)方法的對(duì)象-> 事物

3. 類型  VS   對(duì)象   區(qū)別?
類型:通過對(duì)象抽象出來的一個(gè)數(shù)據(jù)類型
    類型中需要定義對(duì)象需要的特征[屬性|變量]和行為[方法]
    class Person:

        # 定義屬性、特征
        # 固定寫法:在__init__方法中,定義類型的屬性
        def __init__(self, name, age, gender):
            self.name = name
            self.age = age
            self.gender = gender

        # 定義方法、行為
        def eat(self, food):
            print("吃飯了")

    注意1:class 關(guān)鍵字,用來聲明定義一個(gè)類型,固定寫法
    注意2:類型中的所有函數(shù),第一個(gè)參數(shù)self表示當(dāng)前對(duì)象,類似生活中的一個(gè)名詞:我
    注意3:類型中的函數(shù),必須稱為方法;
            函數(shù)  VS  方法 : 兩個(gè)東西
                方法是一種特殊的函數(shù),只能在類型中使用!
    注意4:類型中方法,第一個(gè)參數(shù):指代的是當(dāng)前對(duì)象~~~一般被聲明為self
            表示當(dāng)前對(duì)象,調(diào)用的時(shí)候不需要傳遞數(shù)據(jù)給self!

對(duì)象:某中類型一個(gè)具體存在的事物
    代碼中的對(duì)象,需要通過類型來創(chuàng)建
    如:tom = Person('湯姆', 18, '男')

    通過 類型名稱() 的方式創(chuàng)建對(duì)象
        創(chuàng)建對(duì)象時(shí),自動(dòng)調(diào)用執(zhí)行__init__()方法,將對(duì)象需要的數(shù)據(jù)傳遞過去

    有了對(duì)象,就可以執(zhí)行對(duì)象的行為:調(diào)用對(duì)象的方法
    通過 對(duì)象的變量.方法()直接調(diào)用
    tom.eat("魚香肉絲")

類型的定義
1.類型的聲明
通過class 關(guān)鍵字直接聲明定義一個(gè)自定義類型

語法:
class 數(shù)據(jù)類型名稱:
pass
2.類型: 專門用來差創(chuàng)建對(duì)象
創(chuàng)建對(duì)象:包含具體數(shù)據(jù)的實(shí)體
語法:
變量 = 數(shù)據(jù)類型()

  1. 對(duì)象:是有特征的?!
    對(duì)象是有特征的,項(xiàng)目需要這樣的特征,就定義它,如果不需要就忽略它!

4.調(diào)用執(zhí)行方法:類似與調(diào)用執(zhí)行函數(shù)

方法的調(diào)用執(zhí)行:必須通過對(duì)象的引用變量進(jìn)行調(diào)用!

author = Author()
author.introduction()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容