五個最有用的Python技巧 - dannysteenman
這裡有5個Python技巧,這些技巧使編寫程式碼比以往任何時候都更有效率。可以編寫更好,更緊湊的Python程式碼。
1.生成器Generator函式
Generator函式是一種特殊型別的函式,它不返回單個值,而是返回帶有一系列值的迭代器物件:
def mygenerator(): print('First item') yield 10 print('Second item') yield 20 print('Last item') yield 30 |
>>> gen = mygenerator()
>>> next(gen)
First item
10
>>> next(gen)
Second item
20
>>> next(gen)
Last item
30
它使用yield而不是return關鍵字。因此,yield每次呼叫時都會針對關鍵字返回值。但是,您需要為此函式建立一個迭代器如next();生成器函式不能包含return關鍵字。如果包含它,它將終止該功能,return語句返回值並終止函式的執行。
2.裝飾器decorator
裝飾器是Python中的一種設計模式,它允許使用者向現有物件新增新功能而無需修改其結構。
def a_new_decorator(a_func): def wrapTheFunction(): print("I am doing some boring work before executing a_func()") a_func() print("I am doing some boring work after executing a_func()") return wrapTheFunction def a_function_requiring_decoration(): print("I am the function which needs some decoration to remove my foul smell") a_function_requiring_decoration() outputs: "I am the function which needs some decoration to remove my foul smell" a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration) now a_function_requiring_decoration is wrapped by wrapTheFunction() a_function_requiring_decoration() outputs:I am doing some boring work before executing a_func() # I am the function which needs some decoration to remove my foul smell # I am doing some boring work after executing a_func() |
裝飾器用來包裝函式並以一種或另一種方式修改其行為。
3.三元運算子
三元運算子在Python中通常被稱為條件表示式。這些運算子根據條件是否成立來評估某些內容。他們成為2.4版Python的一部分
is_nice = True state = "nice" if is_nice else "not nice" |
它允許快速測試條件而不是使用多行if語句。通常,它可能非常有用,並且可以使您的程式碼緊湊但仍可維護。
4.Setattr和getattr setattr函式
set指定物件的指定屬性的值。getattr方法返回物件的命名屬性的值。
5.列舉
列舉為可迭代物件新增計數器,並以列舉物件的形式返回。
Python透過為該任務提供內建函式enumerate()減輕了程式設計師的任務。 Enumerate()方法向可迭代物件新增一個計數器,並以列舉物件的形式返回它。然後可以將此列舉物件直接用於for迴圈,或使用list()方法將其轉換為元組列表。
python # Python program to illustrate # enumerate function l1 = ["eat","sleep","repeat"] s1 = "geek" # creating enumerate objects obj1 = enumerate(l1) obj2 = enumerate(s1) print ("Return type:",type(obj1)) print (list(enumerate(l1))) # changing start index to 2 from 0 print (list(enumerate(s1,2))) 輸出: Return type: < type 'enumerate' > <p class="indent">[(0, 'eat'), (1, 'sleep'), (2, 'repeat')] <p class="indent">[(2, 'g'), (3, 'e'), (4, 'e'), (5, 'k')] |
相關文章
- 五個有用的jquery小技巧jQuery
- 8個有用的JS技巧JS
- 8 個有用的 JS 技巧JS
- 4個非常有用的 Flutter 技巧Flutter
- 20個有用的linux命令列技巧Linux命令列
- [轉]23個最有用的Elasticsearch檢索技巧Elasticsearch
- iOS 開發的9個超有用小技巧iOS
- 給新手的 10 個有用 Linux 命令列技巧Linux命令列
- Web開發中9個有用的提示和技巧Web
- 網上看到的“12個非常有用的JavaScript技巧”JavaScript
- 21 個最棒最有用的 JavaScript 圖表庫JavaScript
- 45個有用的JavaScript技巧,竅門和最佳實踐JavaScript
- 《三分鐘閱讀》7個有用的JavaScript技巧JavaScript
- 10個超級有用的Python工具!Python
- 最簡單易懂的laravel事件,這個功能非常的有用Laravel事件
- Python五種實用的小技巧Python
- 新手學習 Vim 的五個技巧
- 【Python入門教程】五個常見的最佳化SQL的技巧!PythonSQL
- 23個最有用的ES檢索技巧(Java API實現)JavaAPI
- 【譯】8個有用的 CSS 技巧:視差影象,sticky footer 等等CSS
- 40+個對初學者非常有用的PHP技巧(二)PHP
- 40+個對初學者非常有用的PHP技巧(一)PHP
- 很有用的:電腦高手經常使用的五個按鈕
- 在ASP.NET中有用的技巧ASP.NET
- 10個對Web開發者最有用的Python包WebPython
- Python有用的模組Python
- 常見的Python五大直譯器!很有用哦Python
- 移動遊戲開發的五個技巧遊戲開發
- 使用 Python Pip 的 10 個技巧Python
- Python初學者的17個技巧Python
- 7個你可能不知道的蘋果Mac使用技巧 非常有用蘋果Mac
- 五個 goland 進行 go 開發的小技巧GoLand
- 「萌新上手Mac」玩轉MacBook的五個使用技巧Mac
- java初學者最關心的五個問題Java
- 五個常用的機器學習python庫!機器學習Python
- 每週分享五個 PyCharm 使用技巧(二)PyCharm
- 每週分享五個 PyCharm 使用技巧(一)PyCharm
- 每週分享五個 PyCharm 使用技巧(三)PyCharm