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