最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python學(xué)習(xí)之面向?qū)ο蟆救腴T初級(jí)篇】

 更新時(shí)間:2017年01月21日 15:50:06   作者:葉珍力  
Python從第一天開始就是面向?qū)ο蟮恼Z(yǔ)言。正因?yàn)槿绱?,?chuàng)建和使用類和對(duì)象是非常地容易。這篇文章主要介紹了python中面向?qū)ο蟮南嚓P(guān)資料,屬于python面向?qū)ο髮W(xué)習(xí)的初級(jí)篇,本章將幫助您在使用Python面向?qū)ο缶幊痰募夹g(shù)方面所有提高,有需要的朋友可以參考借鑒。

前言

最近在學(xué)習(xí)Python的面向?qū)ο缶幊?,以前是沒(méi)有接觸過(guò)其它的面向?qū)ο缶幊痰恼Z(yǔ)言,因此學(xué)習(xí)這一部分是相當(dāng)帶勁的,這里也總結(jié)一下。

概述

  • python支持多種編程范式:面向過(guò)程、面向?qū)ο蟆⒚嫦蚯忻妫ㄑb飾器部分)等。
  • 面向過(guò)程:根據(jù)業(yè)務(wù)邏輯從上到下寫壘代碼
  • 函數(shù)式:將某功能代碼封裝到函數(shù)中,日后便無(wú)需重復(fù)編寫,僅調(diào)用函數(shù)即可
  • 面向?qū)ο螅簩?duì)函數(shù)進(jìn)行分類和封裝,讓開發(fā)“更快更好更強(qiáng)...”

OOP思想

  • 面向?qū)ο蟮幕菊軐W(xué):世界由具有各自運(yùn)動(dòng)規(guī)律和內(nèi)部狀態(tài)的對(duì)象組成,對(duì)象之間相互作用和通訊構(gòu)成了世界。
  • 唯一性,世界沒(méi)有兩片相同的樹葉,同樣的沒(méi)有相同的對(duì)象。
  • 分類性,分類是對(duì)現(xiàn)實(shí)世界的抽象。
  • 三大特性:封裝、繼承和多態(tài)

面向?qū)ο蟮娜筇匦裕?/strong>

一、封裝

封裝,對(duì)具體對(duì)象的一種抽象,即將某些部分隱藏起來(lái),在程序外部看不到,即無(wú)法調(diào)用。

私有化:將類或函數(shù)中的某些屬性限制在某個(gè)區(qū)域之內(nèi),外部無(wú)法調(diào)用。

Python中私有化的方法也比較簡(jiǎn)單,就是在準(zhǔn)備私有化的屬性(包括方法、數(shù)據(jù))名字前面加雙下劃線。

例如:

class ProtectMe(object): 
 def __init__(self):
 self.me = "qiwsir"
 self.__name = "kivi"
 
 def __python(self):
 print("I love Python.") 
 
 def code(self):
 print9"Which language do you like?")
 self.__python()
 
if __name__ == "__main__":
 p = ProtectMe()
 print(p.me)
 print(p.__name)
 
#運(yùn)行結(jié)果
qiwsir
Traceback (most recent call last):
 File "21102.py", line 21, in <module>
 print p.__name
AttributeError: 'ProtectMe' object has no attribute '__name' 

說(shuō)明:__name屬性隱藏了,無(wú)法調(diào)用。

調(diào)用私有屬性,可以使用property函數(shù)

class ProtectMe(object): 
 def __init__(self):
 self.me = "qiwsir"
 self.__name = "kivi"
 
 @property
 def name(self):
 return self.__name
 
if __name__ == "__main__":
 p = ProtectMe()
 print(p.name)

#運(yùn)行結(jié)果
 kivi 

所以,在使用面向?qū)ο蟮姆庋b特性時(shí),需要:

  • 將內(nèi)容封裝到某處
  • 從某處調(diào)用被封裝的內(nèi)容

第一步:將內(nèi)容封裝到某處

 self 是一個(gè)形式參數(shù),當(dāng)執(zhí)行 obj1 = Foo('wupeiqi', 18 ) 時(shí),self 等于 obj1

                              當(dāng)執(zhí)行 obj2 = Foo('alex', 78 ) 時(shí),self 等于 obj2

所以,內(nèi)容其實(shí)被封裝到了對(duì)象 obj1 和 obj2 中,每個(gè)對(duì)象中都有 name 和 age 屬性,在內(nèi)存里類似于下圖來(lái)保存。

第二步:從某處調(diào)用被封裝的內(nèi)容

調(diào)用被封裝的內(nèi)容時(shí),有兩種情況:

  • 通過(guò)對(duì)象直接調(diào)用
  • 通過(guò)self間接調(diào)用
class Role(object):
 ac = None #類變量
 def __init__(self,name,role,weapon,life_value):
 #初始化方法
 self.name = name #實(shí)例變量(成員變量)
 self.role = role
 self.weapon = weapon
 self.life_val = life_value
 
 def buy_weapon(self,weapon): #定義方法
 #self:表示實(shí)例本身
 self.weapon = weapon
 # print("%s is buying [%s]" %(self.name,weapon))
 
#把一個(gè)抽象的類變成一個(gè)具體的對(duì)象的過(guò)程,叫實(shí)例化
 
p1 = Role("sanjiang",'Police',"B10",90) #實(shí)例
t1 = Role("Chunyun",'Terrorist',"B11",100)

二、繼承

繼承,面向?qū)ο笾械睦^承和現(xiàn)實(shí)生活中的繼承相同,即:子可以繼承父的內(nèi)容。

class SchoolMember(object):
 # member_nums = 0
 def __init__(self,name,age,sex):
 self.name = name
 self.age = age
 self.sex = sex
 # self.enroll()
 
 def enroll(self):
 SchoolMember.member_nums += 1
 print("SchoolMember [%s] is enrolled!" %self.name)
 
 def tell(self):
 print("Hello my name is [%s]" %self.name)
 
class Teacher(SchoolMember):
 def __init__(self,name,age,sex,course,salary): #重寫父類的__init__方法
 super(Teacher,self).__init__(name,age,sex) #繼承(新式類)
 # SchoolMember.__init__(self,name,age,sex) #繼承(舊式類)
 self.course = course
 self.salary = salary
 
 def teaching(self):
 print("Teacher [%s] is teaching [%s]" %(self.name,self.course))
 
 
 
class Student(SchoolMember):
 def __init__(self,name,age,sex,course,tuition):
 super(Student,self).__init__(name,age,sex)
 self.course = course
 self.tuition = tuition
 
 def pay_tuition(self):
 print("ca,student [%s] paying tuition [%s] again" %(self.name,self.tuition))

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

相關(guān)文章

  • Sanic框架Cookies操作示例

    Sanic框架Cookies操作示例

    這篇文章主要介紹了Sanic框架Cookies操作,結(jié)合實(shí)例形式分析了Sanic框架cookie讀取、寫入及刪除等簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2018-07-07
  • pytorch中的numel函數(shù)用法說(shuō)明

    pytorch中的numel函數(shù)用法說(shuō)明

    這篇文章主要介紹了pytorch中的numel函數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-05-05
  • Python format補(bǔ)0的實(shí)現(xiàn)方法

    Python format補(bǔ)0的實(shí)現(xiàn)方法

    對(duì)于一些數(shù)字的處理,我們可能需要讓它們滿足一定格式的要求,本文主要介紹了Python format補(bǔ)0的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python?reversed函數(shù)用法小結(jié)

    Python?reversed函數(shù)用法小結(jié)

    reversed函數(shù)是Python中的內(nèi)置函數(shù)之一,是對(duì)給定的序列返回一個(gè)逆序序列的迭代器,需要通過(guò)遍歷/list/next()等方法獲取作用后的值,本文給大家介紹Python?reversed函數(shù)及用法,感興趣的朋友一起看看吧
    2023-10-10
  • python編程-將Python程序轉(zhuǎn)化為可執(zhí)行程序[整理]

    python編程-將Python程序轉(zhuǎn)化為可執(zhí)行程序[整理]

    python編程-將Python程序轉(zhuǎn)化為可執(zhí)行程序[整理]...
    2007-04-04
  • django 消息框架 message使用詳解

    django 消息框架 message使用詳解

    這篇文章主要介紹了django 消息框架 message使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)檢測(cè)SSL證書是否過(guò)期

    Python實(shí)現(xiàn)檢測(cè)SSL證書是否過(guò)期

    我們知道 SSL 證書是會(huì)過(guò)期的,一旦過(guò)期之后需要重新申請(qǐng),如果沒(méi)有及時(shí)更換證書的話,就有可能導(dǎo)致網(wǎng)站出問(wèn)題,所以本文介紹了如何利用Python實(shí)現(xiàn)檢測(cè)SSL證書是否過(guò)期,需要的可以參考下
    2023-08-08
  • 使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程

    使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程

    這篇文章主要介紹了使用wxPython獲取系統(tǒng)剪貼板中的數(shù)據(jù)的教程,wxPython是一個(gè)非常受歡迎的Python圖形庫(kù),需要的朋友可以參考下
    2015-05-05
  • jupyter notebook清除輸出方式

    jupyter notebook清除輸出方式

    這篇文章主要介紹了jupyter notebook清除輸出方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python中的enum的使用方法

    Python中的enum的使用方法

    這篇文章主要介紹了Python中的enum的使用方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-08-08

最新評(píng)論

张家港市| 犍为县| 新密市| 洛宁县| 冕宁县| 林周县| 和田市| 西青区| 通化市| 嵊州市| 福安市| 太康县| 锡林郭勒盟| 文山县| 阿城市| 武陟县| 宁都县| 阳东县| 南召县| 乐陵市| 德清县| 汽车| 永福县| 封开县| 石门县| 洞头县| 沁水县| 桂阳县| 江川县| 泉州市| 娄烦县| 长汀县| 南川市| 昭苏县| 滨州市| 同心县| 凤阳县| 淮阳县| 诸城市| 宾阳县| 枣阳市|