2.1.1 ZEND OF PYTHON
在Kali中啓動終端,輸入Python,進入交互模式。python
輸入命令git
import this複製代碼
「一首詩」呈如今咱們眼前。程序員
內容以下:github
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.
雖然這種 方式可能不容易,除非你是python之父
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沒有C語言那樣的大括號,能夠表示代碼塊和代碼之間的層級關係,也沒有VB那樣的begin…end,它是靠縮進來表示這些的。對於用慣了大括號的的程序員來講,多少會有些不適應,由於有大括號的狀況下,咱們能夠隨意調整縮進,讓代碼按照咱們的審美來排列,可是在Python裏就不能這麼作了。看下面一個簡短的示例:微信
stringStest = 'abcdefghijk'
for char in stringStest[1:]:
if char !='c':
print 'not c'複製代碼
這段代碼很簡單,首先聲明瞭一個字符串變量stringStest,而後遍歷字符串中的中的字符,判斷是否是字母「c」,若是不是打印「not c」。運行以後,會看到以下錯誤:網絡
簡單的分析下,for循環和變量聲明處於同級,兩者目前做爲測試代碼的頂級,不須要縮進。if條件判斷是for的子集,應該有4個空格的縮進,print語句是if的子集,應該和if參照再有4個空格的縮進。修改完畢的代碼以下:less
運行結果如圖6.ide
下面我把PEP8的Python編碼規範轉引過來,翻譯不是個人原創,來自於damnever.github.io/2015/04/24/…
第2.2節《數據類型》已經在微信訂閱號搶先發布,心急的同窗進入訂閱號(二維碼在下方),從菜單「網絡安全」—>」Python黑帽編程」進入便可。
因爲教程仍在創做過程當中,在整套教程完結前,感興趣的同窗請關注個人微信訂閱號(xuanhun521,下方二維碼),我會第一時間在訂閱號推送圖文教程和視頻教程。問題討論請加qq羣:Hacking (1羣):303242737 Hacking (2羣):147098303。