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

歡迎訪問 生活随笔!

生活随笔

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

python

python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量...

發布時間:2025/4/5 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 classMethodDemo():2 classVar = 'This is a class variable' #類變量,可在類函數或者成員函數中引用,為所有實例共有的

3 def __init__(self):4 self.instanceVar = 'This is a instance variable' #成員變量,只可在實例對象中引用,只屬于當前實例

5

6 #成員函數

7 definstanceMethod(self,x):8 temporaryVar = 'This is a temporary variable' #臨時變量,只在當前函數有用,也就是該函數的局部變量

9 print('executing instanceMethod(%s,%s)'%(self,x))10 print('classVar = %s'%self.classVar) #類變量可在成員函數中引用

11 print('instanceVar = %s'%self.instanceVar) #成員變量可在成員函數中引用

12 print('temporaryVar = %s'%temporaryVar) #臨時變量只能在當前函數中引用

13

14 #類函數

15 @classmethod16 defclassMethod(cls,x):17 print('executing classMethod(%s,%s)'%(cls,x))18 print('classVar = %s' % cls.classVar) #類方法中能引用類變量

19 #print('instanceVar = %s' % cls.instanceVar) #'類函數不可引用成員變量 MethodDemo' has no attribute 'instanceVar'

20 #print('temporaryVar = %s' % temporaryVar) #類函數不可引用成員函數中的臨時變量 name 'temporaryVar' is not defined

21 #print('tempVar =%s' % cls.tempVar) #類函數不可引用成員函數中的局部變量 'MethodDemo' has no attribute 'tempVar'

22

23 #靜態函數

24 @staticmethod25 defstaticMethod(x):26 print('executing staticMethod(%s)' %( x))27 #print('classVar = %s' % classVar) #靜態函數不可引用類變量

28 #print('instanceVar = %s' % instanceVar) #靜態函數不可引用成員變量

29

30 a =MethodDemo()31 a.instanceMethod(1) #實例對象可引用成員函數

32 a.classMethod(1) #實例對象可引用類函數

33 MethodDemo.classMethod(1) #類函數可直接通過類調用

34 a.staticMethod(1) #靜態函數可通過實例對象調用

35 MethodDemo.staticMethod(1) #靜態函數可直接通過類調用

36

37 print(a.instanceMethod)38 print(a.classMethod)39 print (a.staticMethod)

運行結果:

executing instanceMethod(<__main__.methoddemo object at>,1)

classVar = This is a class variable

instanceVar = This is a instance variable

temporaryVar = This is a temporary variable

executing classMethod(,1)

classVar = This is a class variable

executing classMethod(,1)

classVar = This is a class variable

executing staticMethod(1)

executing staticMethod(1)

>

>

由此可看出,python中的變量主要包括:類變量、成員變量以及臨時(局部)變量。其中類變量可以在類函數、成員函數中直接使用,可以通過類名或者實例對象直接調用。成員變量只可以在成員函數中使用,并且只能通過實例對象調用。而函數內部定義的臨時變量只能在當前函數中使用。

至于類函數、靜態函數、成員函數之間的區別如下:

類函數,通過裝飾器@classmethod注解的函數為類函數,有一個隱含參數cls是該類本身。顧名思義,為這個類擁有的函數,可以直接通過類名直接調用,無需實例化對象,也可以通過該類的實例對象調用。

靜態函數,通過裝飾器@staticmethod注解的函數為靜態函數,可以通過類名直接調用,也可以通過該類的實例化對象調用。其實靜態方法只是在類的作用域里的函數而已,一般主要處理與這個類的邏輯關聯, 如驗證數據。

成員函數,有一個隱含參數self是當前實例本身。只能被該類的實例對象調用。

總結

以上是生活随笔為你收集整理的python 类函数 成员函数_python中的类函数、静态函数、成员函数以及类变量、成员变量...的全部內容,希望文章能夠幫你解決所遇到的問題。

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