Python 超實用小技巧,提升工作效率 Max
眾所周知,Python 以簡潔易上手著稱,面對複雜瑣碎的重複性工作,有時候很有必要提煉一些小指令碼來處理重複工作,今天派森醬就給大家整理了十個超實用的小技巧,可直接執行,建議收藏。
0x00
我們可以通過列表來給多個變數賦值,只需要列表元素的個數和變數個數對應即可。
In [1]: list = [1, 2, 3]
In [2]: a, b, c = list
In [3]: print(a, b, c)
1 2 3
0x01
互動模式下的 _ 表示的是上一個表示式的輸出。
In [4]: 2 * 3
Out[4]: 6
In [5]: _
Out[5]: 6
0x02
通過 join 操作來連結列表中的元素。
In [6]: words = ['I', 'Like', 'Python']
In [7]: ' '.join(words)
Out[7]: 'I Like Python'
0x03
翻轉列表應該是基礎的常用操作了,這裡分享兩種常用的方法,可以通過 reverse 函式或者切片來返轉列表。
In [8]: words = ['I', 'Like', 'Python']
In [9]: words.reverse()
In [10]: words
Out[10]: ['Python', 'Like', 'I']
In [11]: words[::-1]
Out[11]: ['I', 'Like', 'Python']
0x04
雖說現在的計算機硬體已經非常便宜了,但這並不代表我們寫程式不需要考慮記憶體佔用問題,可以通過 sys 模組的 getsizeof 來獲取變數的記憶體佔用。
In [12]: import sys
In [13]: value = 100
In [14]: sys.getsizeof(value)
Out[14]: 28
0x05
多次列印字串,這也是一個表常用的功能,除錯時用的較多,做分割線特別好用。
In [15]: '#' * 20
Out[15]: '####################'
0x06
將字串的第一個字母變為大寫。
In [16]: word = 'python'
In [17]: word.title()
Out[17]: 'Python'
0x07
將相同元素個數的兩個列表變為字典。
In [18]: keys = ["a", "b", "c"]
In [19]: values = [1, 2, 3]
In [20]: dict(zip(keys, values))
Out[20]: {'a': 1, 'b': 2, 'c': 3}
0x08
設定字典的返回預設值,有點類似 Java 中的 map.getOrDefault() 函式。
In [23]: d = {'a': 1, 'b': 2}
In [24]: d.get('a')
Out[24]: 1
In [25]: d.get('c')
In [26]: d.get('c', 300)
Out[26]: 300
0x09
最後給大家分享下字典/集合推導式,這可是 Python 的最好用的功能之一。
In [27]: values = {i : i*i for i in range(5)}
In [28]: values
Out[28]: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
In [29]: nums = {i*i for i in range(5)}
In [30]: nums
Out[30]: {0, 1, 4, 9, 16}
In [31]: nums = [i for i in range(5)]
In [32]: nums
Out[32]: [0, 1, 2, 3, 4]
以上就是本次分享的所有內容,想要了解更多歡迎前往公眾號:Python 程式設計學習圈,每日干貨分享
「其他文章」
- 誰說程式設計師不懂浪漫,當代碼遇到文學..
- Python 為什麼沒有 void 關鍵字?
- 程式語言中分號“;”的簡明歷史
- Python 什麼情況下會生成 pyc 檔案?
- 函式和方法的裝飾器
- Python 任務自動化工具:nox 的配置與 API
- 你可能不知道的 Python 技巧
- 進一步學習 nox 教程,輕鬆掌握命令列用法
- Python 中更優雅的日誌記錄方案
- 更好用的 Python 任務自動化工具:nox 官方教程
- 如何使用 Python 操作 Git 程式碼?GitPython 入門介紹
- Python 海象運算子 (:=) 的三種用法
- 如何利用現有加密方案保護你的 Python 程式碼
- Python 為什麼要保留顯式的 self ?
- Python 浮點數的冷知識
- Python 記憶體分配時的小祕密
- 如何通過測試提升 Python 程式碼的健壯性
- 推薦5個超級實用的 Python 模組,不知道就out啦!
- Python 中幾種屬性訪問的區別
- Python 之父新發文,將替換現有解析器