python進階學習之面向對象(python面向對象教程)

本文目錄一覽:

Python中的面向對象(進階)

一、實例方法,類方法,靜態方法

我們首先寫一個類,裡面包含這三種方法。

可以看到,我們用到了兩個裝飾器。

我們用類和實例分別調用下類方法

我們用類和實例分別調用下靜態方法

靜態方法其實就是把一個普通的函數寫在類里,與直接在外層寫一個函數是一樣的,本質上是一個函數。

為了方便理解,我們分別打印下這些方法的類型

通過type()查看對象是方法還是函數

此外,還可以通過inspect模塊判斷某個對象是否是某種類型,返回布爾值。

用法

小Tips:概念理解

直接def定義的,我們叫做函數

把函數放到類里,我們叫做方法

方法可以通過裝飾器staticmethod轉為(放在方法里的)函數

繼承

一個類繼承另一個類時,會自動獲得另一個類的所有屬性和方法,被繼承的類稱之為父類,新類稱為子類。子類擁有父類所有的屬性和方法,並且可以定義自己的屬性和方法

我們以上邊的Rectangle類為父類來試一下

1)完全繼承

可以看到,子類完全繼承父類後,可以直接調用父類的所有方法。

2)部分繼承

部分繼承:繼承父類後,修改父類的同名方法

我們試一下,Square繼承Rectangle後,修改__init__()方法

3)拓展父類的方法

在保留父類中某個方法的代碼同時,對方法進行拓展

可以在方法中加入”super().方法名”來實現

4)@property

Python中面向對象是什麼意思?

Python既支持面向過程的編程也支持面向對象的編程。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數構建起來的。在“面向對象”的語言中,程序是由數據和功能組合而成的對象構建起來的。比如說C主要面向過程,而JAVA主要面向對象。

Python之什麼叫面向對象

面向對象是向現實世界模型的自然延伸,這是一種“萬物皆對象”的編程思想。在現實生活中的任何物體都可以歸為一類事物,而每一個個體都是一類事物的實例。面向對象的編程是以對象為中心,以消息為驅動,所以程序=對象+消息。

面向對象有三大特性,封裝、繼承和多態。

封裝就是將一類事物的屬性和行為抽象成一個類,使其屬性私有化,行為公開化,提高了數據的隱秘性的同時,使代碼模塊化。這樣做使得代碼的復用性更高。

相關推薦:《Python視頻教程》

繼承則是進一步將一類事物共有的屬性和行為抽象成一個父類,而每一個子類是一個特殊的父類–有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴展了已存在的代碼塊,進一步提高了代碼的復用性。

如果說封裝和繼承是為了使代碼重用,那麼多態則是為了實現接口重用。多態的一大作用就是為了解耦–為了解除父子類繼承的耦合度。如果說繼承中父子類的關係式IS-A的關係,那麼接口和實現類之之間的關係式HAS-A。簡單來說,多態就是允許父類引用(或接口)指向子類(或實現類)對象。很多的設計模式都是基於面向對象的多態性設計的。

總結一下,如果說封裝和繼承是面向對象的基礎,那麼多態則是面向對象最精髓的理論。掌握多態必先了解接口,只有充分理解接口才能更好的應用多態。

想學python從哪裡入手

初學者學習Python需循序漸進,可以從以下內容入手學習:

1.Python基礎知識

學習任何一門編程語言都需要學習相關語法知識,Python基礎知識的學習主要包括Python解釋器執行原理、字符編碼、注釋、變量、縮進、流程控制、文件操作、數據類型、數據類型內置方法、字符串格式化、運算符、輸入輸出、三元運算、collections、列表、字典、元組、集合、IO操作、文件增刪改查、函數等。

2.函數和常用模塊

函數和常用模塊的學習內容主要包括裝飾器原理和使用、高階函數、迭代器與生成器、函數式編程、函數遞歸、二分查找、模塊介紹、re正則模塊、os\sys模塊、subprocess模塊、shuti\shelve\itertools模塊、hashlib模塊、logging日誌模塊、time\datetime\traceback模塊、json\pickle\yam\configparser處理模塊、urllib\paramiko模塊等。

3.面向對象

Python面向對象知識的學習主要包括面向對象和類介紹、創建類、經典類與新式類、面向對象的三大特性、類的普通成員、字段方法屬性、類的高級成員、靜態字段、靜態方法、靜態屬性、類方法、MetaClass\AbstractClass、類成員修飾符等。

4.網絡編程基礎

Python網絡編程基礎學習內容包括Python模塊SocketServer使用和源碼剖析、GIL內部機制、線程鎖、事件、生產者消費模型、進程的使用、進程間數據共享等。

5.數據庫、緩存、隊列

Python數據庫、緩存、隊列學習內容為Python操作redis、Python操作memcache、rabbitMQ消息隊列、數據庫介紹、mysql數據庫安裝使用、mysql管理、mysql數據類型、常用mysql命令、創建數據庫、外鍵、增刪改查表、權限、事務、索引、Python操作mysql等。

6.Web開發基礎

Python之Web開發基礎學習內容為HTML基礎、CSS基礎、JavaScript基礎、局部變量和全局變量、集合、數組、字典、函數參數、原型、面向對象、作用域、dom編程、jquery介紹、jquery選擇器、jquery屬性和CSS操作、jquery文檔處理、jquery篩選、jquery事件託管、jquery事件、jquery

ajax、jquery擴展方法、bootstrap使用、EasyUI介紹和使用等。

7.Web框架學習

Python之Web框架學習內容為Web框架本質、socket服務器、基於反射的路由系統、WSGI介紹及原理實現、開發自己的Web框架、MVC和MTV、路由系統、模板、django基礎學習與使用、普通路由和動態路由、模板引擎、ORM介紹、Django

ORM增刪改查學習、自定義tag、django進階學習與使用、模型綁定、Form表單驗證、Django

ORM進階學習、ModelForm、自定義Validator等。

python面向對象的三大特徵的用法和函數的用法一樣嗎

python面向對象的三大特徵的用法和函數的用法一樣。面向對象的三大特性是指封裝、繼承和多態。面向對象編程是一種編程方式,此編程方式的落地需要使用類和對象來實現,所以,面向對象編程其實就是對類和對象的使用。類就是一個模板,模板里可以包含多個函數,函數里實現一些功能對象則是根據模板創建的實例,通過實例對象可以執行類中的函數。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/306096.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 12:00
下一篇 2025-01-02 12:00

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論