7個習慣提升python效率(譯)

1. 使用本地變量

盡量使用局部變量,避免使用全局變量

2.減少函數調用

(1)當我們判斷對象的類別的時候,盡量使用isinstance(),其次使用id(),最不濟使用type()

type(num)==type(0)
type(num) is type(0)
isinstance(num,(int))

每次循環(huán)都會調用len(a)

while i < len(a):
    statement

只會執(zhí)行一次len(a)

m = len(a)
while i<m:
    statement

3.使用字典來代替多種條件判斷

if a==1:
  b=10
elif a==2:
  b=20
elif a==3:
  b=30

case = {1:10,2:20,3:30}
reslut = case[key]

4.遍歷對象要比遍歷對象的索引快

a = [1,2,3,4]
for item in a:
  print(item)

nums = len(a)
for item in range(nums):
  print(a[item])

5.將列表生成式替換成生成器

因為列表生成是會一次性把所有元素生成出來,如果元素過多的話就會占用大量內存
而生成器只會在調用的時候去執(zhí)行

>>> sum(len(n) for n in line.split())
28
>>> line = 'sajhdnj sadkl auishc bzhxjas asjkn aksmx oasid'
>>> sum_word = [len(n) for n in line.split()]
>>> sum_word
[7, 5, 6, 7, 5, 5, 5]
>>> sum_word_g = (len(n) for n in line.split())
>>> sum_word_g
<generator object <genexpr> at 0x10a032410>
>>> for n in sum_word_g:
...     print(n)
... 
7
5
6
7
5
5
5

6.先編譯然后調用

在使用函數eval()和exec()來執(zhí)行的代碼的時候,最好先使用compile()先進行預編譯,而不是直接使用,這樣可以避免重復編譯的問題
正則匹配也是一樣,最好先通過re.compile()

7.模塊編寫

在導入一個模塊的時候,會執(zhí)行這個沒有縮進的代碼。因此,應該把代碼放在函數中。
測試代碼可以寫在模塊的main()中,在代碼運行的時候,會檢測name的值,如果是main(表示直接運行的該模塊,調用main()函數),如果是模塊的名稱(表示模塊被調用),則不會執(zhí)行測試。

原文地址:
https://www.tutorialdocs.com/article/7-habits-to-improve-python-programs.html

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.C和C++的區(qū)別?C++的特性?面向對象編程的好處? 答:c++在c的基礎上增添類,C是一個結構化語言,它的重...
    杰倫哎呦哎呦閱讀 10,016評論 0 45
  • 對于高手來說,集中精力認真工作,不是為了有朝一日停下來徹底休息。相反,高效休息,是為了更好的工作,抵達巔峰的狀態(tài)。...
    林窗鯨落閱讀 1,038評論 2 2
  • 在《拖延心理學》一書中,作者為我們呈現了一個實例。一個人在小學二年級的學生,常常會匆匆忙忙做完家庭作業(yè),好早點出去...
    張善實閱讀 600評論 0 0
  • 怎樣寫出好代碼 【指南】如何寫出好代碼 代碼就是設計(Jack W.Reeves, 1992) 代碼是最有價值的交...
    layjoy閱讀 387評論 0 2

友情鏈接更多精彩內容