Python語言在代碼上的特色是什麼?華爲名師帶你探索Python奧祕,告訴你「Python代碼還能夠這樣寫」!python
Python基礎語法算法
Python縮進通常爲4個空格,變量的命名方式爲字母和下劃線開頭,由字母、下劃線和數字組成,命名規範分爲大駝峯、小駝峯和蛇形命名。大駝峯指的是每一個單詞的首字母都要大寫,基本用來寫類名和接口的命名。小駝峯指的是除了第一個單詞的首字母要小寫外,其餘的首字母都要大寫,通常用來變量名和函數名的書寫。蛇形命名指的是單詞和單詞之間用下劃線間隔開,常常用在python爬蟲行業使用。express
註釋能夠用#和’’’ ’’’來表示,#是用來一行註釋,三引號適用於比較長的註釋。除此還學了一些經常使用的函數,好比print函數用來打印輸出,input函數用來獲取輸入,abs函數用來返回絕對值、id函數用於獲取對象的內存地址,len函數用於求字符串的長度,max函數用於求最大值,min函數用於求最小值,range函數用於建立一個整數列表等等。數據結構
Python數據結構app
除了上面提到的語法之外,還講了python的數據結構,包括數字、字符串、元組、列表、字典和集合,以及它們的常見操做。數字分爲整形int、浮點型float。字符串定義是經常使用引號來包括。還有布爾值,布爾值只有兩個值,即true和flase。元組是tuple,特性是一旦初始化不能進行修改,經過’,’來對進行數據分割。列表是一種有序的集合,能夠隨時添加和修改裏面的元素。字典由鍵值對組成,能夠經過鍵來完成對值的訪問。經常使用的操做是增刪改查,能夠經過一些相關的函數好比del、update等等來操做。python爬蟲
列表常見操做有添加操做,listappend(obj)爲在列表中插入元素。在list.count(obj)統計某個元素在列表中出現的次數;list.extend(seq)在列表末尾一次性追加另外一個序列中的多個值(用新列表擴展原來的列表);list.index(obj)從列表中找出某個值第一個匹配項的索引位置;list.insert(index, obj)將對象插入列表;list.pop([index=-1])移除列表中的一個元素(默認最後一個元素),而且返回該元素的值;list.remove(obj)移除列表中某個值的第一個匹配項;list.reverse()反向列表中元素;list.sort(cmp=None, key=None, reverse=False)對原列表進行排序。ide
運算符函數
運算符包括算術運算符、比較(關係)運算符、賦值運算符、邏輯運算符、位運算符、成員運算符、身份運算符。算術運算符包括+、-、*、/%、**、//等等。比較運算符分爲==、!=、<>、>、<等等。賦值運算符包括=、+=、-=、*=、/=、%=、**=、//=。位運算符包括&、|、^、~、<<、>>等等。邏輯運算符包括and、or、not等等。測試
控制流3d
條件判斷語句if、else。須要注意的是當if有多個條件時可以使用括號來區分判斷的前後順序,括號中的判斷優先執行,此外 and 和 or 的優先級低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括號的狀況下會比與或要優先判斷。
While循環語句,當不知足條件時跳出循環,須要注意的是避免死循環的發生。while 語句時還有另外兩個重要的命令 continue,break 來跳過循環,continue 用於跳過該次循環,break 則是用於退出循環。
For循環,能夠經過序列索引類進行迭代。具體的方式能夠用下圖的流程圖來進行表示。
Python使用注意事項
講完python的基礎知識後,接下來讓咱們說一些在具體使用時須要注意的地方。
1.交換兩個變量 好比咱們交換下面兩個數 a = 10 b = 20,一般想到的操做是引入第三個變量來進行交換,但對於python而言有特殊的方法來進行交換, a,b = b,a,這樣寫的好處是能夠節約空間,縮短代碼。
2.在打印字符串時這樣的操做print(‘pring‘),雖然也可以進行正常的輸出,可是並推薦這樣使用,在輸出時,先後引號數量一致。Python可以將兩個字符串自動拼接。
3.在這裏介紹一個函數eval,它可以將字符串的引號自動去掉,eval函數也能夠被用來執行任意的代碼對象(如那些由compile()建立的對象)。在這種狀況下,expression參數是一個代碼對象而不是一個字符串。若是代碼對象已經被‘exec‘編譯爲模式參數,eavl()的返回值是None。舉個簡單的例子,num = input(‘:’),當你輸入1+2+3+4時,num的輸出爲字符串,當你在num外面加一個eval函數時,輸出的爲一個數字10。
4.接下來說個關於索引的小知識,當你輸入以下代碼時,l = [1,2] ,l[1<2],會輸出l=2,當你把1<2修改成1>2時輸出爲l=1,這是由於bool類型,當裏面的條件爲true時,輸出2,反之輸出1。
5.字典取值等效性,指的是當鍵爲五、5+0j或者5.0時,值會進行覆蓋,系統會認爲這三個鍵爲一個。字典不支持dict1+dict2,在不使用相關字典相加函數時,能夠經過{**dict1,**dict2}進行字典的相加。*變量爲解包,順序輸出列表的數據,**爲分別輸出字典的鍵和值。
6.在 Python 中,使用了 yield 的函數被稱爲生成器(generator)。跟普通函數不一樣的是,生成器是一個返回迭代器的函數,只能用於迭代操做,更簡單點理解生成器就是一個迭代器。在調用生成器運行的過程當中,每次遇到 yield 時函數會暫停並保存當前全部的運行信息,返回 yield 的值, 並在下一次執行 next() 方法時從當前位置繼續運行。調用一個生成器函數,返回的是一個迭代器對象。下面是生成器的代碼:
生成器僅僅保存了一套生成數值的算法,而且沒有讓這個算法如今就開始執行,而是我何時調它,它何時開始計算一個新的值,並給你返回。
7.Python 不支持單字符類型,單字符在python中也做爲一個字符串看待。集合(set)是一個無序不重複元素的序列。基本功能是進行成員關係測試和刪除重複元素。可使用大括號 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。