這篇文章主要介紹Python核心基礎(chǔ)之面向?qū)ο蟮氖纠治?,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
1、面向?qū)ο蠛喗?/strong>
Python從設(shè)計(jì)之初就已經(jīng)是一門面向?qū)ο蟮恼Z言,正因?yàn)槿绱?,在Python中創(chuàng)建一個(gè)類和對(duì)象是很容易的。如果你以前沒有接觸過面向?qū)ο蟮木幊陶Z言,那你可能需要先了解一些面向?qū)ο笳Z言的一些基本特征,在頭腦里頭形成一個(gè)基本的面向?qū)ο蟮母拍?,這樣有助于你更容易的學(xué)習(xí)Python的面向?qū)ο缶幊獭?/p>
? Python是一門面向?qū)ο蟮木幊陶Z言
? 所謂面向?qū)ο蟮恼Z言,簡單理解就是語言中的所有操作都是通過對(duì)象來進(jìn)行的
?面向過程
? 面向過程指將我們的程序分解為一個(gè)一個(gè)步驟,通過對(duì)每個(gè)步驟的抽象來完成程序
? 這種編寫方式往往只適用于一個(gè)功能,如果要實(shí)現(xiàn)別的功能,往往復(fù)用性比較低
? 這種編程方式符號(hào)人類的思維,編寫起來比較容易
? 1.媽媽穿衣服穿鞋出門
? 2.媽媽騎上電動(dòng)車
? 3.媽媽到超市門口放好電動(dòng)車
? 4.媽媽買西瓜
? 5.媽媽結(jié)賬
? 6.媽媽騎電動(dòng)車回家
? 7.到家孩子吃西瓜
?面向?qū)ο蟮木幊陶Z言,關(guān)注的是對(duì)象,而不注重過程,對(duì)于面向?qū)ο笠磺薪詫?duì)象
? 以上方式可以用 孩子?jì)寢尳o孩子買瓜來解決
? 面向?qū)ο蟮木幊趟枷?,將所有功能統(tǒng)一保存到對(duì)應(yīng)的對(duì)象中,要使用某個(gè)功能,直接找到對(duì)應(yīng)的對(duì)象即可
? 這種編碼方式比較容易閱讀,并且易于維護(hù),容易復(fù)用。但是編寫的過程中不太符合常規(guī)的思維,編寫相對(duì)麻煩
面向?qū)ο蠡咎卣?/strong>
類(Class): 用來描述具有相同的屬性和方法的對(duì)象的集合。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法。對(duì)象是類的實(shí)例。
類變量:類變量在整個(gè)實(shí)例化的對(duì)象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。
數(shù)據(jù)屬性:類變量或者實(shí)例變量, 用于處理類及其實(shí)例對(duì)象的相關(guān)的數(shù)據(jù)。
方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對(duì)其進(jìn)行改寫,這個(gè)過程叫方法的覆蓋(override),也稱為方法的重寫。
局部變量:定義在方法中的變量,只作用于當(dāng)前實(shí)例的類。
實(shí)例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱為實(shí)例變量,是在類聲明的內(nèi)部但是在類的其他成員方法之外聲明的。
繼承:即一個(gè)派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個(gè)派生類的對(duì)象作為一個(gè)基類對(duì)象對(duì)待。例如,有這樣一個(gè)設(shè)計(jì):一個(gè)Dog類型的對(duì)象派生自Animal類,這是模擬"是一個(gè)(is-a)"關(guān)系(例圖,Dog是一個(gè)Animal)。
實(shí)例化:創(chuàng)建一個(gè)類的實(shí)例,類的具體對(duì)象。
對(duì)象:通過類定義的數(shù)據(jù)結(jié)構(gòu)實(shí)例。對(duì)象包括兩個(gè)數(shù)據(jù)成員(類變量和實(shí)例變量)和方法。
面向?qū)ο螅∣bject oriented Programming,OOP)編程 的思想主要是針對(duì)大型軟件設(shè)計(jì)而來的。面向?qū)ο缶幊虒?shù)據(jù)和操作數(shù)據(jù)相關(guān)的方法封裝到對(duì)象中,組織代碼和數(shù)據(jù)的方式更加接近人的思維,使程序的擴(kuò)展性更強(qiáng)、可讀性更好,從而大大提高了編程的效率。
Python 完全采用了面向?qū)ο蟮乃枷?,是真正面向?qū)ο蟮木幊陶Z言,完全支持面向?qū)ο蟮幕竟δ?,例如:繼承、多態(tài)、封裝等。
Python 中,一切皆對(duì)象。例如,數(shù)據(jù)類型、函數(shù)等,都是對(duì)象。
Python 支持面向過程、面向?qū)ο?、函?shù)式編程等多種編程范式。面向?qū)ο?、面向過程區(qū)別:
相同點(diǎn): 都是解決問題的思維方式,都是代碼組織的方式
不同點(diǎn):
面向過程(Procedure Oriented)思維: 面向過程編程更加關(guān)注的是“程序的邏輯流程”,是一種“執(zhí)行者”思維,適合編寫小規(guī)模的程序。
面向?qū)ο?Object Oriented)思維: 面向?qū)ο蟾雨P(guān)注的是“軟件中對(duì)象之間的關(guān)系”,更契合人的思維模式,是一種“設(shè)計(jì)者”思維,適合編寫大規(guī)模的程序。面向?qū)ο罂梢詭椭覀儚暮暧^上把握、從整體上分析整個(gè)系統(tǒng)。
但是,具體到實(shí)現(xiàn)部分的微觀操作(就是一個(gè)個(gè)方法),仍然需要面向過程的思路去處理。面向過程和面向?qū)ο笫窍噍o相成的,面向?qū)ο箅x不開面向過程。
面向?qū)ο笏伎挤绞?/strong> 遇到復(fù)雜問題,先從問題中找名詞(面向過程更多的是找動(dòng)詞),然后確立這些名詞哪些可以作為類,再根據(jù)問題需求確定的類的屬性和方法,確定類之間的關(guān)系。
2. 類(class)
創(chuàng)建類
我們目前學(xué)習(xí)的都是Python的內(nèi)置對(duì)象,但是內(nèi)置對(duì)象并不都能滿足我們的需求,所以我們?cè)陂_發(fā)中經(jīng)常要自定義一些對(duì)象
List item類簡單理解它就是相當(dāng)于一個(gè)圖紙,在程序匯總我們需要根據(jù)類來創(chuàng)建對(duì)象。
類就是對(duì)象的圖紙我們也稱對(duì)象是類的實(shí)例(instance)
如果多個(gè)對(duì)象是通過一個(gè)類創(chuàng)建的,我們稱這些對(duì)象是一類對(duì)象
類也是一個(gè)對(duì)象,類就是用來創(chuàng)建對(duì)象的對(duì)象
可以像對(duì)象中添加變量,對(duì)象中的變量稱之為屬性 語法:對(duì)象.屬性名 = 屬性值
class MyClass(): pass
類是抽象的,也稱之為“對(duì)象的模板”。 我們需要通過類這個(gè)模板,創(chuàng)建類的實(shí)例對(duì)象,然后才能使用類定義的功能。
而在Python中,Python對(duì)象包括幾個(gè)部分:
以上是“Python核心基礎(chǔ)之面向?qū)ο蟮氖纠治觥边@篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章題目:Python核心基礎(chǔ)之面向?qū)ο蟮氖纠治?創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://chinadenli.net/article42/dehohc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站制作、服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容