日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python-类的学习

發布時間:2024/10/6 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python-类的学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下摘抄于RUNOOB.com

Python 面向對象

Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。本章節我們將詳細介紹Python的面向對象編程。

如果你以前沒有接觸過面向對象的編程語言,那你可能需要先了解一些面向對象語言的一些基本特征,在頭腦里頭形成一個基本的面向對象的概念,這樣有助于你更容易的學習Python的面向對象編程。

接下來我們先來簡單的了解下面向對象的一些基本特征。
面向對象技術簡介

類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。

類變量: 類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。

數據成員: 類變量或者實例變量, 用于處理類及其實例對象的相關的數據。
方法重寫: 如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
局部變量: 定義在方法中的變量,只作用于當前實例的類。
實例變量: 在類的聲明中,屬性是用變量來表示的。這種變量就稱為實例變量,是在類聲明的內部但是在類的其他成員方法之外聲明的。
繼承: 即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關系(例圖,Dog是一個Animal)。
實例化: 創建一個類的實例,類的具體對象。
方法: 類中定義的函數。
對象: 通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

創建類

使用 class 語句來創建一個新類,class 之后為類的名稱并以冒號結尾:

class ClassName:'類的幫助信息' #類文檔字符串class_suite #類體

類的幫助信息可以通過ClassName.__doc__查看。print(類名.__doc__)
class_suite 由類成員,方法,數據屬性組成。

Python的類成員函數、靜態函數和成員的函數的比較

參考:Python的類成員函數、靜態函數和成員的函數的比較
從聲明方式來看:
普通成員函數是最一般的方法,即

class Foo:def plain_func():pass

類成員函數是

class Foo:@classmethoddef class_func():pass

靜態函數是

class Foo:@staticmethoddef static_func():pass

從調用方式來看,普通函數與后兩者區別較大,普通函數只能在類的實例中被調用,而后兩者可以通過類名進行調用:

class Foo:def plain_func(self):print("plain_func")@classmethoddef class_func(cls):print("class_func")@staticmethoddef static_func():print("static_func")# 必須實例化進行調用 foo = Foo() foo.plain_func() # 通過類名進行調用 Foo.class_func() Foo.static_func()

而后類方法class_func和靜態的方法static_func最核心的區別就在于類方法class_func有cls參數,而靜態方法static_func沒有cls參數。cls可以理解為this指針,它引用了一個類實例。

總結

以上是生活随笔為你收集整理的Python-类的学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。