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

溫馨提示×

溫馨提示×

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

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

22個Python實用技巧分別是什么

發布時間:2021-12-04 10:13:35 來源:億速云 閱讀:114 作者:柒染 欄目:網絡管理

本篇文章給大家分享的是有關22個Python實用技巧分別是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

被人工智能捧紅的 Python 已是一種發展完善且非常多樣化的語言,其中肯定有一些你尚未發現的功能。那么今天或許我能夠讓你學到一些新技巧。

Python的發展:

“人生苦短,我用 Python”,Python 的經典 slogan 講究爭分奪秒,自 20 世紀 90 年代初首次錄入 TIOBE,Python 花了 10 年才首次進入指數前 10 名,隨著它的不斷應用與發展,Python 逐漸在網絡安全與數據科學等領域大放異彩。

Python 最初是 Perl 的繼承者,用于編寫構建腳本,并且作為一種膠水語言,它被廣泛用于連接各種軟件組件。但隨著不斷應用與發展,Python 逐漸進入了其它領域,比如網絡安全與數據科學。如今,在大型嵌入式系統中運行 Python 也變得非常普遍,并且隨著人工智能與數據分析等領域的大熱,Python 也得到了前所未有的高度關注,相信它也會保持向前。

目前在全球范圍內它已經是大學的首選編程語言,同時也征服了工業界。越來越多人使用 Python,反映在 TIOBE 指數上就是它穩扎穩打地一步步向上爬,從前 10 到前 5,如今終于進入了前 3。

Python的必備技巧:

1、簡潔的表達式

22個Python實用技巧分別是什么

點評:Python因為簡潔高效而出名,就是因為語法非常簡單,而且內置了很多強大的數據結構:

比如我們可以大量用推導列表來生成很多簡潔的代碼

比如我們可以用if else組合,本來需要2-3行代碼寫的,一行搞定!

2、排序

忽略想起了一句臺詞,“有人的地方就有江湖”,那么有數組這樣的數據結構一定涉及到排序,取最大值,取最小值。

22個Python實用技巧分別是什么

點評:這個heapq庫非常好用,尤其是我們在取一些列表的頭部數據,比如最大幾個,最小幾個經常用到,很實用的一招!啥也不說了,趕緊背下來!

3、查詢

排序和查詢都是好基友,長的數據結構里面(字典,列表)里面我們一定會有查詢,過濾的需求。有的時候,我們需要從一個很長的列表里面,找到某一個或者某一類的元素,怎么辦,很簡單,用高級函數filter :

1).用lambda配合filter過濾

22個Python實用技巧分別是什么

點評:lambda是一個非常簡潔的函數表達方式,短小精悍,加上配合filter一起使用,非常漂亮。比如我們通過 字符串里的startswith內置函數,非常方便的過濾出列表里面我們需要的數據!(Python3稍微改一下再filter之外再加一個list,不然生成的是迭代器地址)

22個Python實用技巧分別是什么

點評:正則是一個非常不錯的過濾方法,有的時候好的正則頂的上幾十行代碼,精通正則對玩數據分析,數據清洗是必需的技能!

4、碾平list

有的時候我們會遇到復雜的數據結構,比如列表里面套列表,層層嵌套,非常麻煩。可以碾平的方法:

傳統方法

22個Python實用技巧分別是什么

點評:這里面就是用遞歸來解決的,思路非常簡單清晰,但是遞歸一定要有出口,設計的時候要注意。

另外還有兩種高手的寫法,理解起來比較復雜,這里就不過多說明,感興趣的可以找一找。

5、帶條件的推導列表

推導列表應該是我最喜歡的一種Pythonic方式,它的演變有很多手法,這幾種都是非常常見的,多讀幾遍,背下來!

22個Python實用技巧分別是什么

6、漂亮的添加字典的方法

設計數據結構的時候,字典是必須的!很多時候我們會用帶下面的字典更新的方法,當然更好的是collections模塊里面的defaultdict!

22個Python實用技巧分別是什么

點評:dict.update還是比較平易近人的,這個dict(dict,**options)用法我第一次看到的時候也是楞了一些,什么鬼,現在見多了,也就習慣了!

Python的精選技巧:

1、all 或 any

Python 如此受歡迎,原因之一是因為它具有可讀性和可表達性。

人們經常開玩笑說 Python 是“可執行的偽代碼”,但是當你可以這樣編寫代碼時,你就很難反駁了。

2、bashplotlib

你想在控制臺(console)上繪制圖形嗎?

1$ pip install bashplotlib

這樣你在控制臺中就可以繪制圖形了。

3、集合

Python 內置默認的數據類型,但有時它們的使用效果會不盡如人意。

幸運的是,Python 的標準庫提供了 collections 模塊,這個方便的附加庫提供了更多的數據類型。

from collections import OrderedDict, Counter

x = OrderedDict(a=1, b=2, c=3)

y = Counter("Hello World!")

4、dir

你是否曾經有過深入 Python 對象內部并且觀察它具備哪些屬性的想法呢?

輸入下述命令行:

22個Python實用技巧分別是什么

以交互式運行 Python 時,這是一個非常實用的特征,并且可以動態地搜索正在使用的對象和模塊。

5、emoji

Python 包含 emoji 模塊,在這里!

$ pip install emoji

別以為我不知道你會偷偷下載...

6、原地交換兩個數字

Python 提供了一個直觀的在一行代碼中賦值與交換(變量值)的方法,請參見下面的示例:

x,y= 10,20print(x,y)x,y= y,xprint(x,y)#1 (10, 20)#2 (20, 10)

賦值的右側形成了一個新的元組,左側立即解析(unpack)那個(未被引用的)元組到變量和 。

一旦賦值完成,新的元組變成了未被引用狀態并且被標記為可被垃圾回收,最終也完成了變量的交換。

7、from _future_import

Python 流行的一個結果是新版本總是在開發中。新版本意味著新功能——除非版本已經過時

不過別擔心。_future_module 允許用戶通過函數導入新版本 Python 的功能。這就像是時間旅行,或是奇異魔法之類......

from __future__ import print_function

print("Hello World!")

為什么不導入花括號呢?

8、geopy

地理(Geography)對于程序員來說可能是一個具有挑戰性的領域。但是 geopy 模塊讓它變得異常簡單。

$ pip install geopy

它通過抽取一系列不同地理編碼服務的 API 來工作,使用戶獲取一個地方的完整街道地址、緯度、經度,甚至海拔高度。

另外一個有用的功能是距離:它可以用你喜歡的度量單位計算出兩個位置之間的距離。

9、鏈狀比較操作符

比較操作符的聚合是另一個有時很方便的技巧:

n= 10result= 1< n< 20print(result)# Trueresult= 1> n<= 9print(result)# False

10、howdoi

受困于編程問題并且不記得之前看到過的解決方法?用戶需要使用 StackOverflow ,但是不想離開終端?

那么需要使用這個非常使用的命令行工具 howdoi

$ pip install howdoi

無論你有什么問題,它都會幫你解答。

22個Python實用技巧分別是什么

但是請注意,它會從 StackOverflow 的最高票答案中抓取代碼,這意味著它的回答并不總是最有用的。

$ howdoi exit vim

11、inspect

Python 的 inspects 模塊對于理解背后的原理是非常有幫助的。用戶甚至可以在 inspect 模塊上調用其方法!

下述代碼示例使用

inspect.getsource()

來打印它的源代碼。同時它也使用

inspect.getmodule()

來打印定義它的模塊。

最后一行代碼打印出自身的行號。

22個Python實用技巧分別是什么

當然,除去這些簡單的用途之外,inspect 模塊對于理解代碼的作用也非常有用。你也可以使用它來寫自編文檔代碼。

12、交互環境下的 “_” 操作符

這是一個我們大多數人不知道的有用特性,在 Python 控制臺,不論何時我們測試一個表達式或者調用一個方法,結果都會分配給一個臨時變量: _(一個下劃線)。

>>> 2+ 13>>> _3>>> print_3

13、List Comprehensions

關于 Python 編程,我最喜歡的事情之一是它的列表生成式(List Comprehensions),

這些表達式可以很容易編寫出簡潔的代碼,讀起來幾乎就像自然語言一樣。

22個Python實用技巧分別是什么

14、Jedi

Jedi 庫是一個自動完成和代碼分析的庫。它能夠使編寫代碼更為快速、更為高效。

除非你正在開發自己的 IDE,否則你可能對使用 Jedi 作為編輯器插件最感興趣。幸運的是,現在加載這個插件已經可以用了!不過,你可能已經用上Jedi 了。IPython 項目的代碼自動完成功能就是使用Jedi來實現的。

15、map

Python 通過許多內置功能支持函數式編程。map() 函數是最有用的函數之一——特別是當它與 lambda 函數結合使用時。

22個Python實用技巧分別是什么

在上面的例子中,map() 將一個簡單的 lambda 函數應用于 x 中的每個元素。它返回一個 map 對象,該對象可以被轉換成可迭代的對象,如列表或元組。

16、**kwargs

在學習任何語言的過程中,都會遇到許多里程碑。使用Python,理解神秘的 **kwargs 語法可能就是其中之一。

dictionary 對象前面的雙星號允許您將該 dictionary 的內容作為命名參數傳遞給函數。

dictionary 的鍵是參數名,值是傳遞給函數的值。你甚至不需要叫它 kwargs!

22個Python實用技巧分別是什么

當你想編寫可以處理未預先定義的命名參數的函數時,這就非常有用了。

以上就是22個Python實用技巧分別是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

张家界市| 龙井市| 绥江县| 广宗县| 闵行区| 博罗县| 公安县| 黔江区| 新和县| 旺苍县| 台南县| 崇左市| 三亚市| 浙江省| 桃园市| 河间市| 绥阳县| 崇仁县| 渭源县| 舟曲县| 丁青县| 大关县| 化州市| 霞浦县| 凤城市| 墨竹工卡县| 阿克| 德江县| 封丘县| 温州市| 大同县| 承德市| 台江县| 卢湾区| 垫江县| 威海市| 富蕴县| 上饶市| 秭归县| 黄陵县| 深水埗区|