国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python專用方法與迭代機制實例分析

2020-02-23 05:50:05
字體:
來源:轉載
供稿:網友

本文實例講述了Python專用方法與迭代機制,分享給大家供大家參考之用。具體分析如下:

眾所周知,Python 設計哲學是“優雅”、“明確”、“簡單”,對于一件事只用一種最好的方法來做,而這種優雅在于背后很自然的隱藏了很多細節。比如對一些對象直接用for 語句來迭代,一些全局函數可以作用于很多具有共同特征的對象,還有生成器裝飾器自省等特性。其中很多實現都是借助 Python  內部專用方法,而對外則使用統一的全局函數來進行操作,在配合一些語法糖,使得 Python 寫起來愈發的方便,符合人的直覺。

Python 專用方法

類的私有方法:以雙線劃線開頭,但是不以雙下劃線結尾的方法;
類的專有方法:以雙下劃線開頭和結尾,常用來被內建函數調用;
模塊私有對象:以單下劃線開頭,不能被導入到其他的模塊中去;

#!/usr/bin/env python # Python3 實現 _modeluprivate = '本模塊私有'  #不能用 from module import * 導入  class People():   def __myprivate(self):     print("This is a private fun")   def __test__(self):     print('call __private: ',end='')     self.__myprivate()  if __name__ == '__main__':   a = People()   a.__test__()      # 專有方法,一般系統專用,自己的類方法不要用這種新式命名   a._People__myprivate() # 私有方法被對外被翻譯成了這種名字,從而達到私有的效果   print(_modeluprivate)    ''''' 輸出 call __private: This is a private fun This is a private fun 本模塊私有 ''' 

Python 迭代機制

Python 中的可迭代對象是實現了 __iter__() 方法的對象,而 __iter__() 方法返回一個迭代器對象,迭代器對象內部要實現 __next__() 方法。迭代器對外提供了一個統一的遍歷集合的接口,并且可以直接用 for 語句來進行操作,非常的方便。對于一些特別大甚至無限的集合,迭代器避免了一次性將數據集載入,幾乎是唯一的訪問方法。

#!/usr/bin/env python # Python3 實現 class IterTest():   def __init__(self):     self.a = 0   def __iter__(self):     return self   def __next__(self):     self.a += 1     if self.a > 3:       raise StopIteration     return self.a  if __name__ == '__main__':   a = IterTest()   for i in a:     print(i,end=' ')   b = IterTest()   print(list(b)) # list()構造器,可以接受可迭代對象   c = IterTest()   print(next(c), next(c), next(c))  ''''' 輸出 1 2 3 [1, 2, 3] 1 2 3 ''' 

Python 的生成器其實返回的也是一個迭代器,同樣可以對其使用 next() 函數,對其使用 for操作,有了 yield 關鍵字使得創建生成器更加的方便。

#!/usr/bin/env python # Python3 實現 def funGenerate():   yield 1   yield 2   yield 3  if __name__ == '__main__':   a = funGenerate()   for i in a:     print(i, end=' ')   b = funGenerate()   print(next(b),next(b),next(b))  ''''' 輸出 1 2 3 1 2 3 '''            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潢川县| 玛曲县| 平山县| 冀州市| 晋宁县| 惠东县| 东平县| 永昌县| 正宁县| 徐州市| 霍州市| 江源县| 信阳市| 大渡口区| 合水县| 苏尼特左旗| 寿阳县| 安溪县| 林甸县| 永丰县| 奇台县| 长葛市| 辽中县| 民丰县| 常熟市| 佳木斯市| 吴旗县| 龙胜| 仲巴县| 民权县| 双鸭山市| 景德镇市| 阿拉善左旗| 贺州市| 精河县| 垣曲县| 河东区| 云南省| 蓬莱市| 鞍山市| 柯坪县|