1. 程式人生 > >紮實基礎深入篇(一):變數與python之禪

紮實基礎深入篇(一):變數與python之禪

前言:本文筆記來自於《python程式設計從入門到實踐》,Eric Mathhes著。

 

程式碼改變世界。

 

 

在終端中輸入python即可進入python環境,如同IDLE。當前學習的版本是python3.

請花點時間描繪三個你想建立的程式:1.一款2D小遊戲。2.一個Web網站。3.一條爬蟲。

 

變數名可以字母或下劃線打頭,但不能以數字打頭,變數名不能包含空格。還有引用檔案的時候,檔案的名字應該也滿足條件,否則不能完成成功的引用。

字元號可以是單引號,也可以是雙引號。

處理字串裡面的單詞有三種方式。現在設定a=”master paoPAO“

a.title(),以首字母大寫的方式顯示每個單詞,其他字母統一小寫。結果是:”Master Paopao“

a.upper(),以所有字母變成大寫的方式顯示每個單詞,結果是:”MASTER PAOPAO“

a.lower(),以所有字母變成小寫的方式顯示每個單詞,結果是:”master paopao“

 

first=”fuck“

second=”you“

third=first +“ ” +second

print(third)

這段程式碼的結果自然是fuck you。那麼第三行程式碼中為啥要加一段一個空格的雙引號,只是將這兩個單詞隔開一個空。否則直接相加的結果就是fuckyou。

同樣,也有個新增空白的方式即製表符\t,為轉義字元。其他常用的轉義字元是換行,即\n。

 

在程式中,額外的空白可能令人迷惑,這兒同樣有三種刪除額外空白的操作,設定b=“   MASTER PAOPAO   ”

我們可以看到,b變數的字串中,開頭和結尾都有空白:

b.lstrip(),刪除字串開頭的空白,結果是“MASTER PAOPAO  ”

b.rstrip(),刪除字串末尾的空白,結果是“  MASTER PAOPAO”

b.strip(),刪除字串兩端的空白,結果是“MASTER PAOPAO”

那麼有人可能注意到問題了,可能認為我上面的三個操作是獨立性的。其實是連續性的,因為這個刪除空白的操作是臨時性的,並不會對b變數的值發生影響。

所以想刪除兩端的空白並儲存,應該賦值操作b=b.strip(),這時候b的值才會發生改變,這時候b=“MASTER PAOPAO”

 

python2中的整數:3/2=1   3.0/2=1.5

python3中的整數:3/2=1.5

 

一個優秀的程式設計師,他應該具有編寫註釋的專業素養,方便於合作一個開源專案的時候。要讓自己的程式碼簡潔而有效,能讓他人看懂。

 

python之禪在python中就好比旭旭寶寶的荒古遺精寶典,應該對它表示尊重,那麼在閱讀python之禪之前,你需要大聲喊出“python是我爸爸!”

,以示尊重,方可繼續下一步的操作:在python環境中輸入import this,細細認真捧讀。

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
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.
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.
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!

那麼我將使用微信翻譯工具:

《python的禪宗》,蒂姆·彼得斯著

優美勝於醜陋
明瞭勝於晦澀
簡潔勝於複雜
複雜勝於凌亂
扁平勝於巢狀
間隔勝於緊湊
可讀性很重要
即便假借特例的實用性之名,也不可違背這些規則
不要包容所有錯誤,除非你確定需要這樣做
當存在多種可能,不要嘗試去猜測 
而是儘量找一種,最好是唯一一種明顯的解決方案
雖然這並不容易,因為你不是 Python 之父
做也許好過不做,但不假思索就動手還不如不做
如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然
名稱空間是一種絕妙的理念,我們應當多加利用

 

啊,當我讀這首詩的時候,一股暖流流淌我的心間,從而流向全身,全身有一種說不出的舒服快感,隱隱約約還向外散發著帝王之氣。