tft每日頭條

 > 科技

 > python編程的基本知識

python編程的基本知識

科技 更新时间:2025-02-07 13:21:24

下面是最簡單的Python程序:

import this

運行之後,便可以得到如下的輸出了:

The Zen of Python, by Tim Peters Python之禅--Tim Peters

  • Beautiful is better than ugly:優美好于醜陋;

Python以編寫優美的代碼為目标。

  • Explicit is better than implicit:直接明了優于含蓄晦澀;

優美的代碼應當是明了的,命名規範,風格相似

  • Simple is better than complex:簡潔勝過繁雜;

優美的代碼應當是簡潔的,不要有複雜的内部實現

  • Complex is better than complicated:繁雜再不好,也比淩亂強。

如果複雜不可避免,那代碼間也不能有難懂的關系,要保持接口簡潔。

  • Flat is better than nested:扁平好于嵌套;

優美的代碼應當是扁平的,不能有太多的嵌套

  • Sparse is better than dense:代碼間留有适當間隔,強于緊湊排版;

優美的代碼有适當的間隔,不要奢望一行代碼解決問題

  • Readability counts:重要的是可讀性強;

優美的代碼必然是是可讀的

  • Special cases aren't special enough to break the rules:遇到特例時,也不要破壞上面的規則。

這些規則至高無上

  • Although practicality beats purity:盡管有時實用性比起純粹性要占上風。

人都有偷懶的時候。

  • Errors should never pass silently:不要輕易放過任何錯誤,
  • Unless explicitly silenced:除非有意而為之。

精準地捕獲異常,不寫 except:pass 風格的代碼

  • In the face of ambiguity, refuse the temptation to guess:面對可能出現混淆(多種可能)的時候,拒絕輕信猜測。

所以盡量避免寫出容易産生誤解的代碼。

  • There should be one-- and preferably only one --obvious way to do it:理應确立一個,且唯一的一個明确方式來實現它。

是在無法找到明确的方式,最笨的窮舉方法也是可以的。

  • Although that way may not be obvious at first unless you're Dutch:也許這一點并不顯而易見,那是因為你不是Python語言的創建者( Guido van Rossum[1] 是Dutch)。

這裡的Dutch是指Guido van Rossum

python編程的基本知識(Python之禅--給編程者的掏心窩子的話)1

▲ Guido van Rossum

  • Now is better than never:立即行動勝過永遠不行動,

說了不一定做,做了不一定成。

  • Although never is often better than right now:但要小心立,即行動也會把事情搞砸。

還是在行動之前要三思

  • If the implementation is hard to explain, it's a bad idea:如果算法方案很難被解釋的清楚,這個方案可能并不好。

或者你還沒有找到一個很好的解釋方法。

  • If the implementation is easy to explain, it may be a good idea:如果方案容易被理解,這才是一個好的方案。

事實上,好的理解會對方法的實現、糾錯、調試、優化起到非常重要的作用。

  • Namespaces are one honking great idea -- let's do more of those!:命名空間是一個絕妙的理念,我們應該多加利用它。

除非你不打算今後不再閱讀你的代碼,清晰合理的命名空間是使得代碼進行維護和更新的基石。

參考資料

[1] Guido van Rossum: https://gvanrossum.github.io//

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved