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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类中的特殊成员知识

發布時間:2025/4/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类中的特殊成员知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 # 什么是特殊成員呢?有哪些特殊成員呢? 2 # 見下方所示: 3 # __init__ 在創建對象的時候自動調用該方法 4 # __call__ 5 class foo: 6 7 def __init__(self): 8 print("init") 9 def __call__(self, *args, **kwargs): 10 print("call") 11 def __int__(self): 12 return 123 13 def __str__(self): 14 return "wo shi str" 15 16 obj = foo() #實例化對象的時候自動調用 init 方法,實例幾次調用幾次 17 obj() #類名()() 或者對象() 執行的時候 ,自從調用call 方法 18 print(int(obj)) #當執行int()方法的時候自動調用__int__方法 括號中傳的參數是對象 19 print(str(obj)) #當執行str()方法的時候自動調用__str__方法 括號中傳的參數是對象 1 # __add__方法 2 # 析構方法 __del__ 是什么意思? 3 # 該方法是在python要銷毀該對象的時候促發該方法去執行。 4 # __dict__ 是用啦干什么的呢? 5 # 是用來獲取對象或者類中的所有封裝的成員并返回一個字典__dict__ 6 # 調用列表的時候自動調用__getitem__ __setitem__ __delitem__ 這個 是很重要的! 7 8 9 class foo: 10 def __init__(self,age): 11 self.age = age 12 def __add__(self, other): 13 return self.age + other.age 14 15 # 根據索引值獲取值 16 def __getitem__(self, item): 17 return item+10 18 # 根據索引值設置值 19 def __setitem__(self, key, value): 20 print(key,value) 21 # 刪除列表值 22 def __delitem__(self, key): 23 print(key) 24 25 obj1 = foo(18) 26 obj2 = foo(20) 27 print(obj1+obj2) #38 28 print(obj1.__dict__) # {'age': 18} 29 print(foo.__dict__) # 這個把不可見的成員也打印出來了 30 31 # 是對象通過索引來進行取值 32 li =foo(39) 33 print(li[29]) # 29就是上面的item參數 # 39 34 li[90] = "我尼瑪" # 90 我尼瑪 35 del li[100] # 100 1 # 列表類型的切片是如何調用的呢? 2 # 也是通過__getitem__來實現的 3 # 那么是如何實現的呢? 4 # 通過__getitem__當中的slice類來實現的 5 # 此外,切片類還可以實現 item.start item.stop item.step 這些方法的調用 6 7 # 迭代對象的實現 __iter__ 8 # 在類中定義了__iter__這個方法之后,該類的實現對象就變成了可迭代對象 9 # 可迭代對象使用for 循環遍歷元素的時候,需要將可迭代對象使用iter()轉化為迭代器才可以遍歷 10 # 實現方法如下: 11 class foo: 12 13 # 處理切片 14 def __getitem__(self, item): 15 16 print(item,type(item)) 17 18 if type(item) == slice: 19 print(item.start) 20 print(item.stop) 21 print(item.step) 22 print("調用者希望做切片處理") 23 else: 24 25 print("調用者希望做普通類型的工作") 26 27 def __iter__(self): 28 29 #return [1,23,4,5,10] 30 return iter([1,23,4,5,10]) 31 32 33 # 調用下列表觸發這個方法來查看下 34 35 li = foo() 36 li[10] #10 <class 'int'> 37 li[2:5:10] #slice(2, 5, 10) <class 'slice'> 38 39 # 可迭代器對象的實現 40 it = foo() 41 for i in it: 42 43 print(i)

?

轉載于:https://www.cnblogs.com/neilyoung22/p/9236280.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的类中的特殊成员知识的全部內容,希望文章能夠幫你解決所遇到的問題。

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