66個有趣的Python冷知識
-
內聯注釋
- 可以在代碼行尾使用
#
進行內聯注釋,例如x = 10 # 這是一個內聯注釋
。
- 可以在代碼行尾使用
-
多行注釋
- 多行注釋可以用三個引號
'''
或"""
包裹。
- 多行注釋可以用三個引號
-
分數
fractions
模塊提供了分數類型,可以精確表示分數值。
-
小數
decimal
模塊提供了小數類型,可以進行精確的浮點運算。
-
內置幫助
help()
函數可以用來獲取對象的幫助信息。
-
文檔字符串
- 函數、類和模塊可以包含文檔字符串(docstring),用
"""
包裹。
- 函數、類和模塊可以包含文檔字符串(docstring),用
-
未使用的變量
- 常用
_
作為未使用變量的占位符。
- 常用
-
上下文管理器協議
- 實現
__enter__
和__exit__
方法的對象可以用于上下文管理器。
- 實現
-
對象的
__str__
方法__str__
方法定義對象的字符串表示,用于print()
和str()
。
-
對象的
__repr__
方法__repr__
方法定義對象的官方字符串表示,用于調試和日志記錄。
-
字符串的
join
方法- 使用
str.join()
方法可以高效地連接字符串列表。
- 使用
-
集合操作
- Python集合支持并集
|
、交集&
、差集-
和對稱差集^
操作。
- Python集合支持并集
-
局部變量和全局變量
- 在函數中,可以使用
global
關鍵字聲明全局變量,使用nonlocal
聲明非局部變量。
- 在函數中,可以使用
-
裝飾器鏈
- 多個裝飾器可以鏈式應用到一個函數上。
-
動態屬性
- 可以使用
setattr()
和getattr()
動態地設置和獲取對象的屬性。
- 可以使用
-
魔術方法
- Python類可以實現各種魔術方法,例如
__add__
、__len__
和__getitem__
。
- Python類可以實現各種魔術方法,例如
-
類方法
- 使用
@classmethod
裝飾器定義類方法,第一個參數是類本身。
- 使用
-
靜態方法
- 使用
@staticmethod
裝飾器定義靜態方法,不需要類實例或類作為參數。
- 使用
-
屬性
- 使用
@property
裝飾器定義屬性,提供 getter 和 setter 方法。
- 使用
-
列表和元組的解包
- 可以使用
*
和**
操作符解包列表和元組。
- 可以使用
-
路徑操作
os.path
模塊和pathlib
模塊提供了豐富的路徑操作功能。
-
環境變量
os.environ
可以訪問和修改環境變量。
-
臨時文件
tempfile
模塊提供了創建臨時文件和目錄的功能。
-
隨機數
random
模塊提供了生成隨機數和隨機選擇的功能。
-
數學函數
math
模塊提供了各種數學函數,例如sin()
、cos()
和sqrt()
。
-
統計函數
statistics
模塊提供了基本的統計函數,例如mean()
、median()
和stdev()
。
-
時間和日期
time
模塊和datetime
模塊提供了處理時間和日期的功能。
-
計時器
- 使用
timeit
模塊可以精確測量小段代碼的執行時間。
- 使用
-
并發編程
concurrent.futures
模塊提供了線程和進程池執行并發任務。
-
異步編程
asyncio
模塊提供了構建異步IO的框架。
-
事件循環
asyncio
的事件循環可以用于管理和執行異步任務。
-
信號處理
signal
模塊提供了處理操作系統信號的功能。
-
進程間通信
multiprocessing
模塊提供了進程間通信的功能,例如管道和隊列。
-
線程同步
threading
模塊提供了同步原語,例如鎖、條件變量和信號量。
-
日志記錄
logging
模塊提供了靈活的日志記錄功能。
-
配置文件
configparser
模塊提供了讀寫配置文件的功能。
-
命令行參數
argparse
模塊提供了解析命令行參數的功能。
-
單元測試
unittest
模塊提供了編寫和運行單元測試的框架。
-
行為驅動開發
behave
模塊支持行為驅動開發(BDD),基于Gherkin語法編寫測試。
-
網絡請求
requests
模塊提供了簡潔的人性化的HTTP請求功能。
-
數據序列化
json
和yaml
模塊提供了數據序列化和反序列化的功能。
-
文件壓縮
zipfile
和tarfile
模塊提供了處理壓縮文件的功能。
-
電子郵件
smtplib
和email
模塊提供了發送電子郵件的功能。
-
FTP
ftplib
模塊提供了FTP客戶端功能。
-
網絡編程
socket
模塊提供了底層的網絡編程接口。
-
HTTP服務器
http.server
模塊提供了簡單的HTTP服務器功能。
-
URL解析
urllib
模塊提供了處理URL的功能。
-
圖像處理
PIL
和Pillow
模塊提供了圖像處理功能。
-
音頻處理
wave
和pyaudio
模塊提供了音頻處理功能。
-
視頻處理
opencv
模塊提供了視頻處理和計算機視覺功能。
-
科學計算
numpy
和scipy
模塊提供了強大的科學計算功能。
-
數據分析
pandas
模塊提供了數據分析和操作功能。
-
機器學習
scikit-learn
模塊提供了機器學習算法和工具。
-
深度學習
tensorflow
和pytorch
模塊提供了深度學習框架。
-
數據可視化
matplotlib
和seaborn
模塊提供了數據可視化功能。
-
Web框架
django
和flask
是兩個流行的Python Web框架。
-
REST API
fastapi
是一個快速的現代Web框架,用于構建REST API。
-
靜態類型
mypy
是一個用于Python的靜態類型檢查工具。
-
代碼格式化
black
是一個流行的Python代碼格式化工具。
-
代碼靜態分析
pylint
是一個用于Python代碼的靜態分析工具。
-
依賴管理
pipenv
和poetry
提供了依賴管理和虛擬環境功能。
-
版本管理
pyenv
提供了管理多個Python版本的功能。
-
項目模板
cookiecutter
提供了快速創建項目模板的功能。
-
打包和分發
setuptools
和wheel
提供了打包和分發Python包的功能。
-
國際化
gettext
模塊提供了國際化和本地化支持。
-
圖形用戶界面
tkinter
是Python的標準圖形用戶界面庫。