幾招冷門!但是很有用的Python招數!

大家好,我是菜鳥哥!

Python 目前是最火最流行的語言之一。它以其簡單的語法和強大的功能,受到很多同學的喜歡。最爽的是它有強大的庫和社區支持,讓你開發應用非常方便快捷。

今天菜鳥哥給大家分享幾招,平時不常用有點冷門,但是非常有用的招數,大家趕緊拿起電腦操練起來。

01.Named Tuples

命名元組是易於創建的輕量級對象類型。它是 Python Collections模塊中可用的工廠函數。如果你想要一個類來管理數據,你可以考慮使用命名元組作爲替代。

用nametuple創建一個元組類既簡單又直接,比起用重量級的class要方便很多,對於很多數據結構簡單的類可以直接使用,非常輕巧。

2. For...Else 子句

平時我們太習慣用if/else語句了,但是我們很少或者不怎麼習慣把for和else進行配合,這個組合也是Python獨有的,有它的獨特的使用場景。

在 For...else 子句中,如果for循環的迭代完成,則執行else子句。如果 for 循環中的迭代由於 break 語句而中斷,在這種情況下,else子句不會被執行。

for/else的用法有點反人性,它的意思就是如果你的for循環是正常結束的,那麼就來我else這邊跑一下;

如果你的for沒有完整的運行結束,中間有退出的break,那麼else部分則不執行。我們在實際的項目裏面搜索文件一般用的比較多。

例如:


3.參數的拆包

我們在設計函數的時候,有的時候需要帶有多個參數進行傳遞,如果這樣寫會很醜,比如我們下面設計的add函數,其實就是把傳入的參數進行相加。如果用add(*list)就可以方便的搞定。

當傳遞給函數時,Python 本身不會解壓列表、元組或字典,必須使用並且*必須成功地將它們傳遞給函數。

4.愛上pprint

我們大部分打印的時候用print,但是實際上還有一個非常有用的打印叫pprint,其實就是比print多一個p。它的好處在於你需要打印很多複雜的字典或者嵌套的很長的序列的時候用pprint打印會豎起來打印,然後我們觀察結果非常清晰,很方便,在實際的項目中經常用到。

看一下輸出結果:

第一種普通的打印就非常醜,很長,如果是複雜的嵌套字典我們debug觀察的時候就非常費勁。

[{'status': 200, 'result': [1, 2, 3, 4, 5]}, {'status': 'OK', 'result': ['Hello', 'World']}, {'status': 404, 'result': 'Data not found'}]

第二種用了ppring去打印就非常人性化,直接豎起來顯示,就很直觀。

[{'result': [1, 2, 3, 4, 5], 'status': 200},

{'result': ['Hello', 'World'], 'status': 'OK'},

{'result': 'Data not found', 'status': 404}]

5. enum 枚舉

枚舉菜鳥哥玩Python這麼多年都沒有怎麼用過,感覺這個知識點一般都是用在C語言裏面比較多,今天才知道原來Python也可以用enum。

我們設計一個簡單的枚舉類型Season,給它賦值春夏秋冬,然後就可以非常方便的對其進行使用。當然你也可以這樣使用:

用一個類來繼承父類Enum,然後利用Enum的內置屬性進行操作,算是借力打力。

好,以上就是今天分享的幾個冷門的Python技巧,但是雖然說冷門其實還蠻實用的,大家在平時實戰的項目中可以使用起來,會讓你功力大增。

【菜鳥學Python】累計原創近400篇趣味乾貨(爬蟲,數據分析,算法,面試指南,原創趣味實戰,Python遊戲,機器學習),歡迎一起學Python,交流指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章