中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python重要的功能有哪些

發布時間:2021-11-19 13:53:50 來源:億速云 閱讀:381 作者:iii 欄目:編程語言

這篇文章主要介紹“Python重要的功能有哪些”,在日常操作中,相信很多人在Python重要的功能有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python重要的功能有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1. 生成器——內存效率

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

def  gen(n):    # an infinite sequence  generator that generates integers >= n     while True:         yield n         n += 1 G =  gen(3)     # starts at 3 print(next(G))  # 3 print(next(G))  # 4 print(next(G))  # 5 print(next(G))  # 6

2. 虛擬環境——隔離

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

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

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

因此,為每個應用程序創建單獨的虛擬環境venv至關重要,可以用 pip或conda完成。

3. 列表推導——緊致碼

很多人認為lambda、map和filter是每個初學者都應該學習的函數。雖然筆者認為這些函數值得關注,但是由于它們缺乏靈活性,大多時候不是特別有用。  Lambda是將一次性使用的函數生成為一行的方法。若函數被多次調用,性能就會降低。另一方面,map將一種函數應用于列表中的所有元素,而filter則會獲取集合中滿足用戶定義條件的元素子集。

add_func  = lambda z: z ** 2 is_odd =  lambda z: z%2 == 1 multiply  = lambda x,y: x*y aList =  list(range(10)) print(aList) 4 # [0, 1,  2, 3, 4, 5, 6, 7, 8, 9]

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

4. 列表操作——循環列表

Python允許在aList[-1]==  aList[len(aList)-1]中出現負索引。因此,可以通過調用aList[-2]等其他元素來獲取列表中的倒數第二個元素。

還可以用aList[start:end:step]語法對列表進行切片,該語法包括起始元素,但不包括終止元素。因此,調用aList[2:5]會得到[2, 3,  4]。也可以通過調用aList[::-1]來反轉列表,筆者發現這種技巧非常簡潔。

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

a, b, c,  d = aList[0:4] print(f'a  = {a}, b = {b}, c = {c}, d = aegqsqibtmh') # a = 0,  b = 1, c = 2, d = 3 a, *b,  c, d = aList print(f'a  = {a}, b = {b}, c = {c}, d = aegqsqibtmh') # a = 0,  b = [1, 2, 3, 4, 5, 6, 7], c = 8, d = 9

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.
Eng =  list(zip(engList, espList, numList)) Eng.sort()  # sort by engList a, 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重要的功能有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮北市| 上饶县| 万安县| 虹口区| 龙海市| 绥化市| 镶黄旗| 铜川市| 韶山市| 榆中县| 息烽县| 乡宁县| 射洪县| 航空| 盐城市| 紫阳县| 清丰县| 南溪县| 昔阳县| 敦化市| 红原县| 元谋县| 南江县| 资溪县| 乐安县| 昌平区| 房山区| 大邑县| 抚远县| 凉山| 阳西县| 无锡市| 镇沅| 荆门市| 双辽市| 青海省| 广州市| 疏勒县| 卢湾区| 石首市| 中卫市|