亚洲国产成人精品久久_欧美日韩国产综合一区二区_亚洲精品理论电影_色综合久久中文字幕

Python最重要的5大功能,?要是能早點了解就好了!

放大字體  縮小字體 發布日期:2020-01-15  來源:來自互聯網  作者:來自互聯網  瀏覽次數:217
導讀

2. 虛擬環境——隔離 若讀完本文,只能記住其中一條,那應該是虛擬環境的使用。 3. 列表推導——緊致碼 很多人認為lambda、map和filter是每個初學者都應該學習的函數。map將一種函數應用于…

全文共3536字,預計學習時長11分鐘

全文共3536字,預計學習時長11分鐘

圖源:Unsplash

Python作為近幾年超級熱門的新興編程語言,其語言功能十分強大的特點,大家有目共睹,想必不用贅述。

Python功能眾多,小芯曾用Python的交互式地圖和區塊鏈等功能創建了許許多多的應用程序,令人振奮。 但也正因其功能繁多,初學者一開始是很難掌握所有功能的。 即使你是一名從其他語言(比如C語言或MATLAB語言)轉換過來的程序員,用更加抽象的Python編寫代碼對你來說也絕對是一次不同的體驗。

但功能雖多,總有主次之分。 為了方便大家早點了解Python的一些大功能,小芯特別整理出了其中5大最重要的功能。

  1. 生成器——內存效率 打算計算大量的結果,但同時又想避免同時分配所有結果所需內存,這時候會使用生成器。

換句話說,它們即時生成值,但不會將先前生成的值存儲在內存中,因此只需要將其迭代一次。 生成器常用于讀取大型文件或使用關鍵字yield生成無窮序列。在大多數數據科學項目中,筆者發現它頗有用處。

  • def gen(n): # an infinite sequence generator that generates integers >= n while True: yield n n += 1G = gen(3) # starts at 3print(next(G)) # 3print(next(G)) # 4print(next(G)) # 5print(next(G)) # 6
  • python-generator hosted with ? by GitHub

2. 虛擬環境——隔離 若讀完本文,只能記住其中一條,那應該是虛擬環境的使用。

圖源:Unsplash

Python的應用程序經常使用很多不同的軟件包,而這些軟件包由具有復雜依賴關系的開發人員開發。不同的應用程序由一種特定的庫設置開發出來,其結果無法由其他版本的庫復制。沒有一種安裝程序可以滿足所有應用程序的要求。

  • conda create -n venv pippython=3.7 # select python versionsource activate venv...source deactivate

因此,為每個應用程序創建單獨的虛擬環境venv至關重要,可以用 pip或conda完成。 3. 列表推導——緊致碼 很多人認為lambda、map和filter是每個初學者都應該學習的函數。雖然筆者認為這些函數值得關注,但是由于它們缺乏靈活性,大多時候不是特別有用。 Lambda是將一次性使用的函數生成為一行的方法。若函數被多次調用,性能就會降低。另一方面,map將一種函數應用于列表中的所有元素,而filter則會獲取集合中滿足用戶定義條件的元素子集。

  • add_func = lambda z: z ** 2is_odd = lambda z: z%2 == 1multiply = lambda x,y: x*yaList = list(range(10))print(aList)4# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • python-lambda hosted with ? by GitHub

列表推導是一種簡潔靈活的方法,可從其他具有靈活表達式和條件的列表中創建新列表。它由一個帶有表達式或函數的方括號構成,只有當元素滿足特定條件時,才能應用于列表中的每個元素。它也可以通過嵌套來處理嵌套列表,這比用map和filter要靈活得多。

  • # Syntax of list comprehension[ expression(x) for x in aList if optional_condition(x)]
  • print(list(map(add_func, aList)))print([x ** 2 for x in aList])# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]print(list(filter(is_odd, aList)))print([x for x in aList if x%2 == 1])# [1, 3, 5, 7, 9]# [1, 3, 5, 7, 9]
  • python-list-comprehension hosted with ? by GitHub

4. 列表操作——循環列表 Python允許在aList[-1]== aList[len(aList)-1]中出現負索引。

因此,可以通過調用aList[-2]等其他元素來獲取列表中的倒數第二個元素。

還可以用aList[start:end:step]語法對列表進行切片,該語法包括起始元素,但不包括終止元素。

因此,調用aList[2:5]會得到[2, 3, 4]。也可以通過調用aList[::-1]來反轉列表,筆者發現這種技巧非常簡潔。

圖源:Unsplash

列表也可以解壓縮為單獨的元素,或者解壓縮為元素和子列表,兩者混在一起,用星號標出。

  • a, b, c, d = aList[0:4]print(f'a = {a}, b = {b}, c = {c}, d = 4k04dhcv')# a = 0, b = 1, c = 2, d = 3a, *b, c, d = aListprint(f'a = {a}, b = {b}, c = {c}, d = 4k04dhcv')# a = 0, b = [1, 2, 3, 4, 5, 6, 7], c = 8, d = 9
  • python-unpacking hosted with ? by GitHub

5. 壓縮(Zipping)和列舉(enumerate) ——for循環 壓縮 (Zip)函數創建了一種迭代程序,該程序可聚合來自多個列表的元素。它允許在for循環中并行遍歷列表并進行并行分類。用星號即可將其解壓縮。

  • numList = [0, 1, 2]engList = ['zero', 'one', 'two']espList = ['cero', 'uno', 'dos']print(list(zip(numList, engList, espList)))# [(0, 'zero', 'cero'), (1, 'one', 'uno'), (2, 'two', 'dos')]for num, eng, esp in zip(numList, engList, espList): print(f'{num} is {eng} in English and {esp} in Spanish.')# 0 is zero in English and cero in Spanish.# 1 is one in English and uno in Spanish.# 2 is two in English and dos in Spanish.
  • python-zip-1 hosted with ? by GitHub
  • Eng = list(zip(engList, espList, numList))Eng.sort() # sort by engLista, b, c = zip(*Eng)print(a)print(b)print(c)# ('one', 'two', 'zero')# ('uno', 'dos', 'cero')# (1, 2, 0)

乍一看,列舉(Enumerate) 可能有點嚇人,但是后來就會發現,在很多情況下使用列舉都很方便。它是一種經常用于for循環的自動計數器,因此無需在counter = 0 和counter += 1的情況下創建并初始化變量計數器。列舉(enumerate) 和壓縮(zip)是創建for循環時會用到的兩種功能最強大的工具。

  • upperCase = ['A', 'B', 'C', 'D', 'E', 'F']lowerCase = ['a', 'b', 'c', 'd', 'e', 'f']for i, (upper, lower) in enumerate(zip(upperCase, lowerCase), 1): print(f'{i}: {upper} and {lower}.')# 1: A and a.# 2: B and b.# 3: C and c.# 4: D and d.# 5: E and e.# 6: F and f.
  • python-enumerate hosted with ? by GitHub

圖源:Unsplash

當然,除了這5種功能,Python還有許許多多其他好用的功能,歡迎大家給小芯留言自己最感興趣的功能。根據大家的留言,小芯會在下次Python文章中繼續為大家介紹更多大家感興趣的功能~

留言 點贊 發個朋友圈

我們一起分享AI學習與發展的干貨

如需轉載,請后臺留言,遵守轉載規范

 
 
免責聲明
本文為會員免費發布,僅代表發布者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理。
 
 
主站蜘蛛池模板: 精品视频在线观看| 日韩欧美亚洲天堂| 日韩在线视频观看正片免费网站| 美日韩精品视频免费看| 久久久久成人网| 日本一区精品| 亚洲精品日韩av| 99久久久久国产精品免费| 欧美日韩免费精品| 日韩亚洲在线视频| 国产精品一香蕉国产线看观看 | 啊v视频在线一区二区三区| 国产自产在线视频一区| 久久人人爽人人爽人人片亚洲 | 日韩精品无码一区二区三区免费| 97精品视频在线播放| 久久久久99精品成人片| 国产精品96久久久久久| 久久久久亚洲精品国产| 精品国产综合久久| 欧美高清性xxxxhd| 国产美女三级视频| 激情网站五月天| 久久99久久久久久久噜噜| 欧美成人在线影院| 欧美一级片中文字幕| 欧美中文字幕在线视频| 欧美日韩精品免费看| 欧洲日本亚洲国产区| 欧美极品在线视频| 久久久国产在线视频| 精品国产一区二区三区久久狼黑人| 久久日韩精品| 精品人妻一区二区三区四区在线| 国严精品久久久久久亚洲影视| 国产一区二区在线播放| 久久久国产影院| 国产精品入口福利| 91国产精品91| 日本精品一区在线观看| 久久精品视频va|