python教程ppt第五章_Python 3基础教程 第5章面向对象编程.ppt
5.4.3 用超類的構(gòu)造函數(shù) 在使用構(gòu)造函數(shù)對(duì)實(shí)例對(duì)象進(jìn)行初始化時(shí),可以在子類的構(gòu)造函數(shù)中調(diào)用超類的構(gòu)造函數(shù)。 supper用于在子類作用引用操作。 5.4.4 多重繼承 多重繼承指子類可以同時(shí)繼承多個(gè)超類。 如果超類中存在同名的屬性或方法,Python按照從左到右的順序在超類中搜索方法。 5.5 運(yùn)算符的重載 運(yùn)算符重載是通過實(shí)現(xiàn)特定的方法是類的實(shí)例對(duì)象支持Python的各種內(nèi)置操作。表5-1列出了部分運(yùn)算符重載方法。 重載運(yùn)算符就是在類中定義相應(yīng)的方法,當(dāng)使用實(shí)例對(duì)象執(zhí)行相關(guān)運(yùn)算時(shí),則調(diào)用對(duì)應(yīng)方法。 本節(jié)主要講述: 加法運(yùn)算重載 索引和分片重載 自定義迭代器對(duì)象 定制對(duì)象的字符串形式 5.5.1 加法運(yùn)算符重載 加法運(yùn)算通過實(shí)現(xiàn)__add__方法來完成重載,當(dāng)兩個(gè)實(shí)例對(duì)象執(zhí)行加法運(yùn)算時(shí),自動(dòng)調(diào)用__add__方法。 5.5.2 索引和分片重載 與索引和分片有關(guān)的重載方法包括: __getitem__ __setitem__ __delitem__ 1. __getitem__方法 在對(duì)實(shí)例對(duì)象執(zhí)行索引、分片或for迭代時(shí),調(diào)用__getitem__方法。 2. __setitem__方法 在通過賦值語句給索引或分片賦值時(shí),調(diào)用__setitem__方法,實(shí)現(xiàn)對(duì)序列對(duì)象的修改。 3. __delitem__方法 __delitem__方法重載del運(yùn)算,即刪除索引或分片。 5.5.3 自定義迭代器對(duì)象 實(shí)現(xiàn)了__getitem__方法的實(shí)例對(duì)象可用于for循環(huán)迭代。 Python在執(zhí)行迭代操作時(shí),總是優(yōu)先調(diào)用__iter__方法,若沒有才調(diào)用__getitem__方法。 __iter__方法返回一個(gè)迭代器對(duì)象,然后Python可重復(fù)調(diào)用迭代器對(duì)象的__next__執(zhí)行迭代操作,直到發(fā)生StopIteration異常。 Python的內(nèi)置函數(shù)next()本質(zhì)上時(shí)通過調(diào)用的對(duì)象的__next__方法來完成。 1.迭代器對(duì)象只能使用一次 默認(rèn)情況下,自定義的迭代器對(duì)象只能使用一次,迭代完成后,必須創(chuàng)建新的迭代器對(duì)象才可開始新的迭代操作。 2.有多個(gè)迭代器的對(duì)象 map和zip函數(shù)生成的對(duì)象時(shí)單迭代對(duì)象;而range、set、list等其他的內(nèi)置函數(shù)生成的對(duì)象,則支持多個(gè)迭代器。 單迭代器和多迭代器與實(shí)現(xiàn)__iter__方法的方式有關(guān)。 若在__iter__方法直接返回了self對(duì)象,即保持了迭代器對(duì)象狀態(tài)。當(dāng)?shù)Y(jié)束,再次返回迭代器對(duì)象時(shí),得到的是已迭代結(jié)束的迭代器對(duì)象。 如果要得到新的迭代器,在__iter__方法中先恢復(fù)迭代器到初始狀態(tài)即可。 5.5.4 定制對(duì)象的字符串形式 重載__repr_和__str__方法可定義對(duì)象轉(zhuǎn)換為字符串的形式。在執(zhí)行print()、str()、repr()以及交互模式下直接顯示對(duì)象時(shí),會(huì)調(diào)用__repr_或__str__方法。 1.只重載__str__方法 如果只重載了__str__方法,只有str()和print()函數(shù)可調(diào)用__str__方法進(jìn)行轉(zhuǎn)換。 2.只重載__repr__方法 重載__repr__方法,可以保證各種操作下都能將正確獲得實(shí)例對(duì)象的自定義的字符串形式。 3.同時(shí)重載__str__和__repr__方法 如果同時(shí)重載了__str__和__repr__方法,則str()和print()函數(shù)調(diào)用__str__方法,交互模式下直接顯示對(duì)象和repr()函數(shù)調(diào)用__repr__方法。 5.6 模塊中的類 可以將模塊中的類導(dǎo)入到當(dāng)前模塊使用。導(dǎo)入的類是模塊對(duì)象的一個(gè)屬性,就像模塊中的函數(shù)一樣,可以像調(diào)用模塊函數(shù)一樣來調(diào)用類對(duì)象。 本節(jié)主要講述: 使用模塊中的類 本章完 Python 3基礎(chǔ)教程 出版社或系部名稱 主講:授課教師 姓名 第5章 面向?qū)ο缶幊?面向?qū)ο笫乾F(xiàn)代高級(jí)程序設(shè)計(jì)語言的特點(diǎn)之一。在前面各章中,已多次使用到“對(duì)象”這個(gè)概念。本章將深入對(duì)象的本質(zhì),學(xué)習(xí)對(duì)象的實(shí)現(xiàn)——類。類為Python提供了面向?qū)ο缶幊坦δ堋?作為初學(xué)者而言,面向?qū)ο缶幊滩⒉皇潜仨毜摹km然在Python內(nèi)部,對(duì)象是無處不在。但使用Python實(shí)現(xiàn)系統(tǒng)并不是必須使用面向?qū)ο缶幊獭C嫦驅(qū)ο缶幊掏ǔT陂_發(fā)大型系統(tǒng)時(shí)效率更高。 本章主要內(nèi)容 對(duì)象的屬性和方法 理解Python的面向?qū)ο?定義和使用類 1 2 3 類的基礎(chǔ) 4 運(yùn)算符重載 模塊中的類 6 5 5.1 理解Python的面向?qū)ο?Python的面向?qū)ο蠹夹g(shù)支持類、對(duì)象實(shí)例、繼承、重載、多態(tài)等面向?qū)ο筇攸c(diǎn),但與C++、Java等支持的面向?qū)ο笥钟兴煌?本節(jié)主要講述: Python的類 Python中的對(duì)象 5.1.1 Python的類 類使用class語句來定義 在類中,用賦值語句創(chuàng)建變量
總結(jié)
以上是生活随笔為你收集整理的python教程ppt第五章_Python 3基础教程 第5章面向对象编程.ppt的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中加权滤波怎么用_方向加权中值滤
- 下一篇: 4. Python--Scipy库(上/