精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
極簡python教程06:生成器和匿名函數
錯過往期內容?試試點擊下方藍色字體
測試基礎系列  實戰項目系列技能提升系列  自動化測試系列職場碎碎念系列
tips:01 加群、加組織,請點擊這里
02 獲取測試資料,請點擊這里大家好,我是測試奇譚的作者譚叔。
講解之前,我先說說我的教程和網上其他教程的區別:
1 我分享的是我在工作中高頻使用的場景,是精華內容;
2 我分享的是學習方法,亦或說,是指明你該學哪些、該重點掌握哪些內容;
3 基于1和2,你可以按照我的教程學,也可以網上找視頻學,也可以看書學……你得明白,掌握學習方法比找學習資料重要得多。
前5期,我已經分享了python的基礎語法,如果你按照我的文章,一步一步練習,保準你對python代碼的語法特點、書寫方式有所了解,并能獨立的寫一些簡單的函數方法,甚至能嘗試開始自動化測試的實踐(基于python語法)。
極簡python教程:賽前說明
極簡python教程02:基礎變量,刪繁就簡
極簡python教程03:語句方法類,簡單過之
極簡python教程04:文件讀寫和異常處理
極簡python教程05:進程和線程
當然,如果你想更進一步掌握python語法的特點,那接下來的幾篇文章一定不要錯過。
這一場,主講python的生成器和匿名函數。
目的:掌握這兩個知識點的概念和使用。
生成器
01 什么是生成器?
記住兩個關鍵:
生成器是一種特殊的函數方法。意味著它和函數(def)密不可分。
基于上一點,只要函數中出現yield關鍵字,就是生成器函數。
初學的你,還是太難理解?
02 通俗的講解
你可以將生成器理解為一個盒子,你可以向這個盒子里隨意添加元素,當你需要的時候,再取出來用。
請看下面的例子:
# 普通函數def func(): return 1
f = func()print("函數返回值:",f)->函數返回值:1print("函數返回值的類型:",type(f))->函數返回值的類型:<class 'int'>
# 生成器def gen_func(): yield 1 yield 2
g = gen_func()print("生成器對象:",g)->生成器對象:<generator object gen_func at 0x00000189B8CFF7C8>print("生成器對象的類型:",type(g))->生成器對象的類型:<class 'generator'># 讀取生成器對象的值,因為生成器也是一個迭代器,實現了python的迭代協議(即實現了__iter__方法)
for i in g: print("生成器對象的值:",i)->生成器對象的值: 1->生成器對象的值: 203 生成器到底有什么用?
作用:惰性求值(一邊循環一邊計算的機制),節省性能
04 生成器的常見用途?
讀大文件
網絡爬蟲 scrapy 框架
協程
舉個例子:斐波那契數列(0,1,1,2,3,5...),打印斐波那契數列前50個元素
# 不使用生成器,會消耗大量內存def fib(idx): res=[] n, a, b = 0, 0, 1 while n < idx: res.append(b) a, b = b, a+b n += 1 return resres = fib(100)print(res)
# 使用生成器,可節約大量內存def gen_fib(idx): n, a, b = 0, 0, 1 while n < idx: yield b a, b = b, a+b n += 1
for i in gen_fib(100): print(i)匿名函數
01 什么是匿名函數?
當:
函數實現比較簡單
函數不需要被多個地方調用
懶得給這個函數起名字
時,我們可以使用匿名函數。
初學的你,還是太難理解?
02 通俗的講解
你想實現一個求x的平方的函數,但是這個函數太簡單,不值得專門def定義,同時,你忘記了平方的英文如何拼寫,要是命名成 "pingfang",又顯得自己太low,于是乎,你可以不給這個函數起名字,還能實現它。這就是匿名函數lambda表達式。
比如:求一個數的平方
# 不用 lambda 表達式def square(x): return x * xprint(square(2))
# 使用 lambda 表達式# 寫法:lambda 返回值:計算表達式s = lambda x: x * xprint(s(2))一如既往,做個總結
01 如果你是初學者,可以先不掌握生成器和匿名函數,待學成python后,再行琢磨;
02 在實際工作中,生成器和匿名函數的使用頻次,相對較高,并且在面試中是高頻問點。
封面圖片來自unsplash.com
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
匿名函數--python
好程序員Python培訓分享函數式編程之匿名函數
Python入門進階學習必備函數!
Python Lambda函數竟有這么多用法
python的匿名函數lambda解釋及用法
Python中的匿名函數
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 临高县| 济源市| 读书| 浙江省| 同德县| 淮滨县| 措美县| 班戈县| 奉化市| 邮箱| 兴义市| 武夷山市| 金昌市| 南汇区| 千阳县| 磐安县| 东源县| 德化县| 宁南县| 临猗县| 济南市| 大新县| 定边县| 和林格尔县| 泾源县| 靖边县| 滦南县| 江阴市| 五台县| 汨罗市| 浪卡子县| 台北市| 杨浦区| 微山县| 枞阳县| 富锦市| 静宁县| 融水| 县级市| 白山市| 铁力市|