Python語言基礎-語法特色、保留字與標識符、變量、基本數據類型、運算符、基本輸入輸出、Python2.X與Python3.X區別

Python語言基礎

 1.Python語法特色

  註釋:

  單行註釋:#  python

#註釋
單行註釋分爲兩種狀況,
例:第一種
#用於計算bim數值
bim=weight/(height*height)
第二種:
bim=weight/(height*height)#用於計算bim數值

      注:1.添加註釋時必定要有意義,即註釋能充分解釋代碼塊的功能及用途程序員

        2.註釋能夠出如今代碼的任意位置,但不能分隔關鍵字和標識符算法

          3.註釋除了能夠解釋代碼的功能及用途,也能夠臨時註釋不想執行的代碼,也能夠在後期經過選擇註釋和取消註釋來操做要執行的步驟編程

  多行註釋::'''aaa'''或 """aaa"""編程語言

       多行註釋一般用來爲Python文件、模板、類、或者函數等添加版權、功能等信息ide

       注:在Python中,三引號("""aaa""")或('''aaa''')是字符串的定界符。若是三引號做爲語句的一部分出現時,就不是註釋,而是字符串,這一點要區分。函數

  

例:註釋
'''
@功能:求100之內的和 無返回值 '''
例:字符串
print('''100之內奇數和爲''')

 

  中文編碼聲明註釋:#-*- coding:編碼(utf-8)-*-或者#coding=編碼(utf-8)ui

       該註釋主要是爲了解決python2.X中不支持直接寫中文的問題,雖然Python3.X中該問題已經不存在了,可是爲了規範頁面編碼同時方便其餘程序員及時瞭解文件所用編碼建議在文件開頭添加。編碼

       若是編碼採用UTF-8編碼,編碼信息設置成utf-8,若是是採用GBK編碼,則設置爲gbk或cp936spa

#-*- coding:utf-8-*-

#coding=utf-8
以上兩種方式都可,-*-沒有任何特殊做用,主要爲了美觀

  代碼縮進:  

  Python不像其餘語言採用的是{}分隔代碼塊,Python採用代碼縮進和「:」區分代碼層次。

       方法:縮進可使用四個空格或者一個<Tab>鍵來實現。一般狀況下建議使用四個空格鍵,若是使用Tab建議先設置好Tab鍵的縮進量。

  注意:1.在Python中,對於類定義、函數定義、流程控制語句、異常處理語句等,行尾的冒號和下一行的縮進表示一個代碼塊的開始,而縮進結束,則表示一個代碼塊的結束。

     2.Python對代碼縮進要求異常嚴格,同級別代碼塊的縮進量必須相同,若是採用不合理的代碼縮進,將會拋出SyntaxError異常bug。

  編碼規範:

       編寫規則:採用PEP8做爲編碼規範

  1.每一個import語句只能導入一個模塊,儘可能避免一次導入多個模塊

正確導入:
import os
import re

不推薦導入:
import os,re

  2.不要在尾行添加 ' ; ',也不要用分號將兩條命令放到同一行。

  3.建議每行不超過80個字符,若是超過建議使用「( )」將多行內容隱式的連接起來,而非使用反斜槓 「 \」進行鏈接。

a=('噫籲嚱,危乎高哉!蜀道之難,難於上青天!蠶叢及魚鳧,開國何茫然!爾來四萬八千歲,不與秦塞通人煙。西當太白有鳥道,'
    '能夠橫絕峨眉巔。地崩山摧壯士死,而後天梯石棧相鉤連。上有六龍回日之高標,下有衝波逆折之回川。')

a='噫籲嚱,危乎高哉!蜀道之難,難於上青天!蠶叢及魚鳧,開國何茫然!爾來四萬八千歲,不與秦塞通人煙。西當太白有鳥道,\
能夠橫絕峨眉巔。地崩山摧壯士死,而後天梯石棧相鉤連。上有六龍回日之高標,下有衝波逆折之回川。'

不過有兩種狀況除外
#導入模塊的語句過長
#註釋裏面的URL

  4.使用必要的空行能夠增長代碼的可讀性。通常在頂級定義(如函數或者類的定義)之間空兩行,方法定義之間空一行。另外用於分隔某些功能位置也能夠空一行

  5.一般狀況下,運算符兩側、函數參數之間、" ,"兩側建議使用空格進行分隔。

  6.應該避免在循環中使用 "+" 和 "+=" 運算符累加字符串。由於字符串不可變,字符串建議使用join()方法進行鏈接。

  7.適當使用異常處理結構,提升程序容錯率。但不能過多依賴異常處理結構,適當的顯示判斷仍是有必要的。

  

  命名規範:

  1.模塊名儘可能短小,而且所有使用小寫字母,可使用下劃線分隔多個字母,增長可讀性。

  2.包名儘可能短小,而且所有使用小寫字母,不推薦使用下劃線。

  3.類名採用首字母大寫形式。例Class

  4.模塊內部的類採用下劃線 " _"+Class的類名組成。

  5.函數、類的屬性和方法的命名規則同模塊相似,採用所有小寫字母,多個字母之間使用下劃線  " _"  分隔。

  6.常量命名時所有使用大寫字母,也可使用下劃線。

  7.使用單下劃線 "_"  開頭的模塊變量或者函數是受保護的,在使用from XXX import *語句從模塊中導入時這些變量或者函數不能被導入

  8.使用雙下劃線  " __"  開頭的實例變量或者方法是私有類。

 2.保留字與標識符

  保留字是Python中已經被賦予特定意義的單詞,開發程序時不能使用這些保留字做爲變量、函數、類、模塊和其餘對象名稱使用。

and as assert break class continue
def del elif else except finally
for from False global if import
in is lambda nonlocal not None
or pass raise return try Ture
while with yield      

   注:1.Python中全部的保留字是區分大小寫的。例如if

       2.若是使用了保留字,系統會報錯,「 invalid syntax」(無效語法

       3.Python中能夠引入keyword模塊查看保留字

import keyword
keyword.kwlist

  標識符:簡單理解爲名字。

       標識符命名規則以下:

    1.由字母,數字、下劃線組成。但第一個字符不能是數字。

    2.不能使用保留字。

    3.區分大小寫。兩個相同單詞,但字母大小寫不一樣,所表明的就不一樣,是徹底兩個獨立的個體。

    4. Python中如下劃線開頭的標識符有特殊意義,通常要避免使用相相似的標識符。

  3.變量

  在Python中變量能夠理解成標籤。直接賦值便可建立各類類型的變量,可是變量的命名並非任意的,遵循如下幾條:

    1.變量名必須是一個有效的標識符。

    2.變量不能使用Python中的保留字。

    3.慎用小寫字母I和大寫字母O。

    應選擇有意義的單詞做爲變量名。

語法格式爲:
變量名 = value
count = 1024

    注:1.在Python中,容許多個變量指向同一個值! 

      2.常量就是在程序運行過程當中,值不能改變的量,可是在實際項目中首次賦值以後,仍是能夠被其餘代碼修改。

  4.基本數據類型 

  1.數字類型:整數(int)、浮點數(float)、複數(略)

     整數:用來表示整數數值,及沒有小數部分的數值,包括 正整數、負整數,0,其類型包括:十進制、八進制、 十六進制、二進制

    十進制整數:其表現形式比較常見,例如:99九、一、 0、-3等

    八進制整數:其形式是由0~7組成,進位規則「逢八進一」,且是由0o/0O開頭的數

    十六進制整數:由0~9,A~F組成,進制規則「逢十六進一」,而且由0x/0X開頭的數

    二進制整數:是由0和1組成,進位規則「逢二進一」 

注:1.在Python2.X中,若是輸入的整數比較大時,Python會自動在後面加上字母L。
     2.不能以0做爲十進制的開頭。
     3.在Python3.X中,八進制數,必須以0o/0O開頭,但在Python2.X中八進制數能夠是0開頭
     4.十六進制數必須是以0x或者0X開頭

   浮點數:是由整數部分和小數部分組成,主要是用於處理包含小數的數。

    注:在使用浮點數計算時,可能會出現小數位不肯定的狀況

  2.字符串類型:

    字符串就是連續的字符序列,能夠是計算機所表示的全部一切能表示的字符集合。屬性不可變,一般使用單引號「  '  ' 」、雙引號「 " " 」、或者三引號「 ''' ''' 」或「 """  """  」括起來。其形式語言沒有差異,但單引號和雙引號必須在同一行,三引號內的字符序列能夠分佈在連續多行上。

name = '小明 '
name ="小明"
name_work =''' 噫籲嚱,危乎高哉!蜀道之難,難於上青天!蠶叢及魚鳧,開國何茫然!爾來四萬八千歲,不與秦塞通人煙。'''

#注:字符串的開頭和結尾使用的引號必須一致,如遇到比較複雜的字符串時,還能夠嵌套使用引號。
例:'python 字符串一般使用單引號「  '  ' 」

  字符串的轉義字符:轉義字符就是指用反斜槓「\」對一些特殊字符進行轉義,

  \  -------續行符   \n-------換行符   \0 -----空   \t -----水平製表符,用於橫向跳到下一製表位    \''  -----雙引號   \' -----單引號   \\-----一個反斜槓   \f-----換頁   \0dd-----八進制數,dd表明字符,如\012表明換行   \0xhh-----十六進制數。hh表明字符,如\x0a表明換行

  

注:若是在字符串界定符引前加上字母r或者R,那麼該字符串將原樣輸出,其中轉義字符將不轉義。
print'得之我命')
得之我命
print(r"得之我命""得之我命"

  3.布爾類型

  布爾類型主要用來表示真,假。在Python中,標識符爲Ture和False的值,其數值能夠轉化成Ture表示一、False表示0.

  Python中布爾值能夠進行數值運算,例如False+1 結果=1,但不建議這樣運算。

  注:Python中布爾值爲假的狀況, False、 None;  

     數值中的0(包括0、0.0、虛數0);   

    空序列:空字符串" "、空元組( )、空格列表[ ]、空字典{ };

    自定義對象實例,該對象的__bool__方法返回爲False或者__len__方法返回爲0.

  4.數據類型轉換

  雖然Python是一個動態類型的語言(弱類型語言),不須要提早聲明變量,但有時仍然須要類型轉換。

  經常使用類型轉換函數及其做用:

    int(x)-----將x轉化成整數類型     float(x) -----將x轉化成浮點類型     complex(real [,imag])-----建立一個複數     str(x)-----將x轉化成字符串     repr(x)-----將x轉化成表達式字符串

    eval(str)-----計算在字符串中有效的Python表達式,並返回一個對象>>>x = 7 >>> eval( '3 * x' ) 21       chr(x)-----將整數轉化爲一個字符     ord(x)-----將一個字符轉化成它對應的整數值

    hex(x)-----將整數x轉化爲一個十六進制字符串     oct(x)-----將一個整數x轉化爲一個八進制字符串

  5.運算符

  1.算術運算符

    算術運算符是處理四則運算的符號:

    1.+ ---- 加 

    2.-  ----減  

    3.* ----乘 

    4./ ----除 

    5.% ----求餘 ,即返回除法的餘數,7%2  得1  

    6.//----取整除,即返回商的整數部分 

    7.**----冪,機返回X的y次冪

    注:1.在算術運算符中使用%求餘,若是除數(第二個操做數)是負數,則取得的結果也同樣是個負值。

      2.使用除法(/或//)運算符和求餘運算符時,除數不能爲0,不然將會出現異常

  2.賦值運算符

    主要用來爲變量等賦值,使用時,能夠直接把基本賦值運算符「=」右邊的值賦值給到左邊的變量,也能夠進行某些運算以後再賦值給左邊變量。

    運算符:    運算符

        1.    =        ----簡單的賦值運算  :     x=y  --->       x=y  

        2.    +=     ----加賦值:       x+=y  --->      x= x+y  

        3.    -=      ----減賦值:      x-=y  --->      x= x-y  

        4.    *=      ----乘賦值:      x*=y  --->      x= x*y 

        5.    /=      ----除賦值:      x/=y  --->      x= x/y  

        6.   %=     ----取餘賦值:     x%=y  --->      x= x%y   

        7.   **=     ----冪賦值:      x**=y  --->      x= x**y  

        8.   //=     ----取整除賦值:    x//=y  --->      x= x//y

    注:=和==容易混淆,且是編程中最多見的錯誤之一

  3.比較(關係)運算符

    比較運算符,也稱爲關係運算符,用於對變量或者表達式的結果進行大小、真假等比較,若是爲真返回True,若是爲假,返回False。一般在條件語句中進行判斷比較。

    運算符:1.  >   ----大於  'a'>'b' ---->False   

        2.  <   ----小於  14>16 ---->True

        3.  ==   ----等於  'a'=='a' ---->True

        4.  !=   ----不等於  'a'!='c' ---->True

        5.  >=   ----大於等於  '57'>='33' ---->True

        6.  <=   ----小於等於  '57'>='33' ---->False

    注:Python中,若是須要判斷一個變量是否介於兩個值之間時,能夠採用"值1<變量<值2"的形式。

  4.邏輯運算符

  邏輯運算就是對真和假兩種布爾值進行運算,運算後的值任然是一個布爾值。運算符包括,and(邏輯與)、or(邏輯或)、not(邏輯非)

    運算方向:

      1.  and      c  and  b    從左往右

      2.  or         c  or  b      從左往右

      3.  not        not  b      從右往左

    使用邏輯運算符進行邏輯運算結果:

    表達式1       表達式2             表達式1 and 表達式2        表達式1 or表達式2        not表達式1

      True           True        True          True       False

      True    False        False             True                False     

      False   False          False            False        True

      False   True           False            True       True

    

注:X or Y ,   若是X爲0,則返回Y,反之則返回X,
     X and  Y   若是X爲0,則返回X,反之則返回Y。

  5.位運算符

  位運算符是把數字看成二進制數來進行計算,所以,須要先將要執行的運算轉化成二進制,而後才能執行運算。位運算符有:位與&、位或 | 、位異或 ^、取反~、左移位<< 、右移位>>。

  1.位與運算 :&   

   運算法則:兩個操做數據的二進制表示,只有對應數位都是1時,結果數位纔是1,不然爲0.若是兩個操做數的精度不一樣,則結果的精度與精度高的操做數相同。

    0000  0000  0000  1100

   &0000  0000  0000  1000

    -----------------------------

       0000  0000  0000  1000

  2.位或運算 :|

  運算法則:兩個操做數據的二進制表示,只有對應數位都是0時,結果數位纔是0,不然爲1 ,若是兩個操做數的精度不一樣,則結果的精度與精度高的操做數相同。

 

    0000  0000  0000  0100

 

   |  0000  0000  0000  1000

 

    -----------------------------

        0000  0000  0000  1100

  3.位異或運算:^

       運算法則:當兩個操做數據的二進制表示相同(同時爲1或者同時爲0)時,結果數位爲0,不然爲1 ,若是兩個操做數的精度不一樣,則結果的精度與精度高的操做數相同。

    0000  0000  0001  1111

   ^ 0000  0000  0001  0110

 

    -----------------------------

 

        0000  0000  0000  1001

 

  4.位取反運算:~

     運算法則:就是講操做數中對應的二進制數1改成0,0修改成1,

 

   ~ 0000  0000  0000  0110

 

    -----------------------------

 

        1111  1111  1111  1001

  5.左移位運算符 <<

  運算法則:是將一個二進制操做數向左移動指定的位數,左邊(高位段)溢出的位被丟棄,右邊(低位段)的空位用0補充,左移位運算至關於乘以2的N次冪

  例:int類型數據48對應的二進制數爲:00110000,將其左移一位,能夠得出(00110000<<1)= 01100000,轉化爲十進制爲96(48*2)即2的1次冪

  6.右移位運算符 >>

  運算法則:是將一個二進制操做數向右移動指定的位數,右邊(低位段)溢出的位被丟棄,若是左邊(高位段)是0(正數),右邊的空位用0補充;若是左移(高位段)是1(負數),左側空位填入1 。位運算至關於除以2的N次冪

  6運算符的優先級

  優先級越高先執行,優先級低的運算後執行,同一優先級的操做按照從左到右的順序進行的。

  運算符級別:

  1.  **  --->冪

  2.  ~、+、-    --->取反、正號、負號

  3.  *、/、%、//  --->算術運算符

  4.  +、-   --->算術運算  (加、減)

  5.  <<、>>  --->位運算中的左移、右移

  6.  &  --->位運算中的位與

  7.  ^  --->位運算中的取反

  8.  |  --->位運算中的異或

  9.  <、<=、>、>=、!=、==  --->比較運算

  注:在編寫程序時儘可能使用括號「( )」來限定運算次序,避免運算次序發生錯誤。

  6.基本輸入與輸出

  1.使用input()函數輸入

  在Python中使用input()內置函數,接收用戶鍵盤輸入

  

value = input("請輸入您要輸入的內容")

 

  2.使用print()函數輸出

   在Python中,使用內置函數print()能夠將須要輸出的結果輸出到顯示臺上

a = 4                                                  #變量a, 值爲4
b = 6                                                  #變量b, 值爲6
print(6)                                               #輸出數字6
print(a*b)                                            #輸出變量a*b的結果24
print(a if a>b else b)                              #輸出條件表達式的結果6
print("Python是世界上最好的編程語言")          #輸出字符串"Python是世界上最好的編程語言"

    注意:1.輸出內容能夠爲數字和字符串(字符串須要使用引號引發來)

          2.在Python中,默認狀況下,一條print()語句輸出後會自動換行,若是想要一次輸出多個內容,並且不換行,能夠將要輸出的內容使用英文半角的逗號分隔。print(a,b)

Python2.X與Python3.X的區別:

1.在Python3.X中,八進制數,必須以0o/0O開頭,但在Python2.X中八進制數能夠是0開頭
2.中文編碼聲明註釋:#-*- coding:編碼(utf-8)-*-或者#coding=編碼(utf-8)
該註釋主要是爲了解決python2.X中不支持直接寫中文的問題,雖然Python3.X中該問題已經不存在了,可是爲了規範頁面編碼同時方便其餘程序員及時瞭解文件所用編碼建議在文件開頭添加。

3.在Python2.X中,除法運算符(/)的執行結果與Python3.X的不同,若是操做數爲整數,則結果將截取整數。而在Python3.X中,計算結果爲浮點數。例如:7/2,在Python2.X中結果爲3,在Python3.X中結果爲3.5. 4.在Python2.X中,想讓print語句輸出的內容在一行上顯示,能夠在後面加上逗號。但Python3.X中使用print()函數是不能直接加上逗號,須要加上"end = '分隔符'",而且該分隔符爲一個空格,若是鏈接輸出不須要分隔符隔開,也能夠不加分隔符。

相關文章
相關標籤/搜索