自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python實(shí)例方法、類(lèi)方法和類(lèi)方法靜態(tài)方法淺析

開(kāi)發(fā) 后端
類(lèi)方法也可以進(jìn)行更細(xì)致的劃分,具體可分為類(lèi)方法、實(shí)例方法和靜態(tài)方法。

[[394623]]

一、前言

類(lèi)方法也可以進(jìn)行更細(xì)致的劃分,具體可分為類(lèi)方法、實(shí)例方法和靜態(tài)方法。

二、案例詳解

實(shí)例方法

通常情況下,在類(lèi)中定義的方法默認(rèn)都是實(shí)例方法。

例:

  1. class CLanguage: 
  2.     # 類(lèi)構(gòu)造方法,也屬于實(shí)例方法 
  3.     def __init__(self): 
  4.         self.name = "百度" 
  5.         self.add = "www.baidu.com" 
  6.  
  7.     # 下面定義了一個(gè)say實(shí)例方法 
  8.     def say(self): 
  9.         print("正在調(diào)用 say() 實(shí)例方法"

調(diào)用say()方法,實(shí)現(xiàn)功能。

  1. clang = CLanguage() 
  2. clang.say() 

運(yùn)行結(jié)果:

注:

實(shí)例方法最少也要包含一個(gè) self 參數(shù),用于綁定調(diào)用此方法的實(shí)例對(duì)象。

類(lèi)方法

Python 類(lèi)方法和實(shí)例方法相似,它最少也要包含一個(gè)參數(shù),只不過(guò)類(lèi)方法中通常將其命名為 cls,Python 會(huì)自動(dòng)將類(lèi)本身綁定給 cls 參數(shù)(注意,綁定的不是類(lèi)對(duì)象)。所以在調(diào)用類(lèi)方法時(shí),無(wú)需顯式為 cls 參數(shù)傳參。

和實(shí)例方法最大的不同在于,類(lèi)方法需要使用@classmethod修飾符進(jìn)行修飾。

例:

  1. class ass: 
  2.     #類(lèi)構(gòu)造方法,也屬于實(shí)例方法 
  3.     def __init__(self): 
  4.         self.name = "百度" 
  5.         self.add = "www.baidu.com" 
  6.     #定義了一個(gè)類(lèi)方法 
  7.     @classmethod 
  8.     def info(cls): 
  9.         print("正在調(diào)用類(lèi)方法",cls) 

如果沒(méi)有 @classmethod,則 Python 解釋器會(huì)將 fly() 方法認(rèn)定為實(shí)例方法,而不是類(lèi)方法。

類(lèi)方法推薦使用類(lèi)名直接調(diào)用。

  1. #使用類(lèi)名直接調(diào)用類(lèi)方法 
  2. ass.info() 
  3. #使用類(lèi)對(duì)象調(diào)用類(lèi)方法 
  4. clang = ass() 
  5. clang.info() 

運(yùn)行結(jié)果:

類(lèi)靜態(tài)方法

靜態(tài)方法定義在類(lèi)這個(gè)空間(類(lèi)命名空間)中,而函數(shù)則定義在程序所在的空間(全局命名空間)中。

靜態(tài)方法沒(méi)有類(lèi)似 self、cls 這樣的特殊參數(shù),因此 Python 解釋器不會(huì)對(duì)它包含的參數(shù)做任何類(lèi)或?qū)ο蟮慕壎ā?/p>

靜態(tài)方法需要使用@staticmethod修飾。

例:

  1. class ass: 
  2.     @staticmethod 
  3.     def info(nameadd): 
  4.         print(nameadd

靜態(tài)方法可以使用類(lèi)名,類(lèi)對(duì)象兩種方式進(jìn)行調(diào)用。

  1. # 使用類(lèi)名直接調(diào)用靜態(tài)方法 
  2. ass.info("百度1""www.baidu.com"
  3. # 使用類(lèi)對(duì)象調(diào)用靜態(tài)方法 
  4. clang = ass() 
  5. clang.info("百度2""www.baidu.com"

運(yùn)行結(jié)果:

三、總結(jié)

本文基于Python基礎(chǔ),介紹了實(shí)例方法、類(lèi)方法和類(lèi)方法靜態(tài)方法,通過(guò)實(shí)際案例講解了三種方法的不同用法,通過(guò)代碼演示,運(yùn)行效果圖的展示,能夠幫助讀者更好的理解。

歡迎大家積極嘗試,有時(shí)候看到別人實(shí)現(xiàn)起來(lái)很簡(jiǎn)單,但是到自己動(dòng)手實(shí)現(xiàn)的時(shí)候,總會(huì)有各種各樣的問(wèn)題,切勿眼高手低,勤動(dòng)手,才可以理解的更加深刻。

 

代碼很簡(jiǎn)單,希望對(duì)你學(xué)習(xí)有幫助。

 

責(zé)任編輯:武曉燕 來(lái)源: Go語(yǔ)言進(jìn)階學(xué)習(xí)
相關(guān)推薦

2010-08-13 09:35:08

C#靜態(tài)

2024-05-20 09:26:42

Python裝飾器函數(shù)

2009-09-18 13:47:17

CLR類(lèi)庫(kù)

2012-05-23 12:55:39

Java實(shí)例化類(lèi)

2021-10-08 20:11:40

類(lèi)方法靜態(tài)

2021-03-08 10:47:44

Python類(lèi)方法靜態(tài)方法

2009-12-21 16:52:52

靜態(tài)路由設(shè)置

2009-08-28 12:19:19

C#靜態(tài)方法

2011-06-28 10:55:20

C#接口抽象類(lèi)

2011-07-25 15:46:10

iPhone 動(dòng)態(tài) 類(lèi)

2009-07-24 10:53:51

ASP.NET實(shí)現(xiàn)靜態(tài)

2009-08-28 12:47:30

C#靜態(tài)方法應(yīng)用

2009-08-28 12:31:06

C#靜態(tài)方法

2009-09-09 11:28:40

Scala類(lèi)

2015-03-03 09:19:12

UIScrollVie

2023-07-03 08:10:51

2021-08-16 09:35:34

Collections Java開(kāi)發(fā)

2021-03-22 09:56:01

Java基礎(chǔ)System類(lèi)Static

2019-12-27 15:05:51

Python類(lèi)方法裝飾器

2009-07-20 16:56:51

Scala類(lèi)的定義
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)