這篇文章給大家分享的是有關(guān)Python3.5中面向?qū)ο缶幊痰氖纠治龅膬?nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
十多年建站經(jīng)驗, 網(wǎng)站制作、成都網(wǎng)站設(shè)計客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)公司提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。具體如下:
1、面向過程與面向?qū)ο蟮谋容^
(1)面向過程編程(procedural programming)
面向過程編程又被稱為:top-down languages,程序從上到下 一步步執(zhí)行,從頭到尾的解決問題。
基本設(shè)計思路為:程序一開始是解決一個大問題,然后把大問題分解成多個小問題或子過程,這些小問題執(zhí)行的時候再繼續(xù)分解,
直到小問題足夠簡單到可以在一個小范圍內(nèi)解決。
缺點:若程序要進行修改,則修改的部分依賴的各個部分也要修改,這樣會發(fā)生一連串的影響,隨著程序越來越大,編程方式的維護難度也會越來越高。
所以,如果寫一下簡單的腳本,去做一些一次性的任務(wù),用面向過程的方式是極好的,如果要處理的任務(wù)是復(fù)雜的,且需要不斷迭代和維護的,還是用面向?qū)ο笫亲罘奖愕摹?/p>
(2)面向?qū)ο缶幊蹋╫op)
面向?qū)ο缶幊淌抢谩邦悺焙汀皩ο蟆眮韯?chuàng)建各種模型來實現(xiàn)對真實世界的描述。
優(yōu)點:可以使程序的維護和擴展變得簡單,并且可以大大提高程序的開發(fā)效率;另外,基于對象的程序編程,可以讓別人更加理解你的代碼邏輯,是團隊開發(fā)變得更加從容。
核心的特征:世界萬物皆對象,世界萬物皆可分類。
a、類(class)
類:是對一類擁有相同屬性的對象的抽象、藍圖、原型。在類中定義了這些對象都具備的屬性、共同的方法。
b、對象(object)
對象:類實例化后的實例,一個類必須經(jīng)過實例化方能在程序中調(diào)用。
一個類可以實例化多個對象,每個對象可以有不同的屬性。人類是指使用的人,每個人是指具體的對象。
c、封裝(encapsulation)
在類中對數(shù)據(jù)的賦值、內(nèi)部調(diào)用對外部用戶是透明的,這使類變成了一個膠囊或容器,里面包含著類的數(shù)據(jù)和方法。
d、繼承(Inheritance)
一個類可以派生出子類,在這個父類里定義的屬性、方法自動被子類繼承。
e、多態(tài)(Polymorphism)
多態(tài):是面向?qū)ο蟮闹匾匦?簡單點說:“一個接口,多種實現(xiàn)”,指一個基類中派生出了不同的子類,
且每個子類在繼承了同樣的方法名的同時又對父類的方法做了不同的實現(xiàn),這就是同一種事物表現(xiàn)出的多種形態(tài)。
編程其實就是一個將具體世界進行抽象化的過程,多態(tài)就是抽象化的一種體現(xiàn)。
把一系列具體事物的共同點抽象出來, 再通過這個抽象的事物, 與不同的具體事物進行對話。
多態(tài)允許將子類的對象當(dāng)作父類的對象使用,某父類型的引用指向其子類型的對象,調(diào)用的方法是該子類型的方法。
這里引用和調(diào)用方法的代碼編譯前就已經(jīng)決定了,而引用所指向的對象可以在運行期間動態(tài)綁定。
2、面向?qū)ο缶幊?/strong>
(1)無論什么形式的編程,都要明確一下原則:寫重復(fù)的代碼是非常不好的地級行為;之前寫的代碼需要不斷的更新。
所以,開發(fā)的程序要遵循易讀、易改的原則,即:可讀性好、易擴展。
(2)示例代碼:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu #面向?qū)ο?-CS游戲模擬 class Role(object): def __init__(self,name,role,weapon,life_value=100,money=15000): self.name = name self.role = role self.weapon = weapon self.life_value = life_value self.money = money def shot(self): print("shotting...") def got_shot(self): print("ah...%s got shot..." %self.name) def buy_gun(self,gun_name): print("%s just bought %s" %(self.name,gun_name)) r1 = Role("Jack","police","AK-47") #實例化(初始化一個類,創(chuàng)建了一個對象) r1.buy_gun("B51") r2 = Role("Amy","terrorist","B22") r2.got_shot()
運行結(jié)果:
Jack just bought B51
ah...Amy got shot...
注:
a、類的基本定義
Python3.5中面向?qū)ο缶幊痰氖纠治?創(chuàng)新互聯(lián)
文章鏈接:http://aaarwkj.com/article2/icpic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、用戶體驗、App設(shè)計、網(wǎng)站導(dǎo)航、網(wǎng)站制作、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容