python語法基礎筆記

本篇筆記基於博主本身的的學習,理解,總結所寫。不少東西可能存在誤解,不能保證百分之百的正確。python

1. 數據表達

1.1 常量和變量

  • 變量

變量在解釋器的命名空間中,只是一個標籤,用於表示對對象的引用。能夠做爲數據類型的引用,也能夠用函數等其餘對象的引用。編程

1.2 數據類型

1.2.1 基本數據元素

1.2.1.1 數字

  • 整形 int
  • 浮點型 float
  • 布爾型 bool
  • 複數型 complex

1.2.1.2 字符串

1.2.2 標準數據類型

1.2.2.1 列表(方括號)

1.2.2.2 元祖(圓括號)

1.2.2.3 字典(花括號)

1.3 運算符

運算符表示數據運算的類別。python中共有七種運算類型。不一樣運算類型包括不一樣的運算符。閉包

  • 算術運算
  • 關係運算
  • 邏輯計算
  • 賦值運算
  • 位運算
  • 成員運算
  • 身份運算

1.3.1 算術運算

算術運算包括七種運算符:app

+     加法計算
-     減法計算
*     乘法計算
/     除法計算
%    取模(餘)計算
**     冪計算
//    取整除計算

1.3.2 關係運算

關係運算包括七種運算符:模塊化

==    等於
!=    不等於
<>    不等於
>    大於
<    小於
>=    大於等於
<=    小於等於

1.3.3 邏輯運算

邏輯運算包括三種運算符:函數

and    布爾與
or       布爾或
not     布爾非

1.3.4 賦值運算

賦值運算包括八種運算符:學習

=    基本賦值
+=    加後賦值
-=   減後賦值
*=    乘後賦值
/=    除法賦值
%=    取餘賦值
**=    冪賦值
//=    取整賦值

1.3.5 位運算

位運算包括六種運算符:ui

&    按位於
|    按位或
^    按位異或
~    按位取反
<<    左移
>>    右移

1.3.6 成員運算

成員運算兩種運算符:code

in    
not in

1.3.7 身份運算

is
not is

1.4 表達式

表達式由數據類型和運算符組成。表達式有返回值。
返回值有:對象

  • 基本數據元素
  • 標準數據類型

表達式有多種類型,好比:

  • 運算表達式
  • 條件表達式
  • 賦值表達式
  • 判斷表達式

1.5 返回值

返回值通常爲:

  • 基本數據元素
  • 標準數據類型
  • 空值
  • 無返回值

2. 控制結構

2.1 條件判斷結構

條件判斷結構,由if...elseif...else...else引導構成。
if後面爲條件表達式,條件表達式一般由關係運算,身份運算,成員運算等可以構成條件運算,且通常返回布爾類型值True或者False構成判斷條件。
esle爲條件成立後的結果。通常爲輸入,輸出,計算,或者無操做。
條件判斷不單一,通常存在一個或者多個添加。
通常會按照「判斷條件-結果分支「的形式,存在多種判斷結構。即:

  • 單條件,單分支
  • 單條件,雙分支
  • 單條件,多分支
  • 多條件,單分支
  • 多條件,雙分支
  • 多條件,多分支

2.1.1 if 特殊狀況判斷

單分支。經常使用於特殊狀況排除

# 簡單示例
    if True:
        print 'ok'
    if 1:
        print 'ok'
    if 2 > 1:
        print 'ok'
    # 示例代碼
    for i in range(10):
        if i % 2 != 0:
            print i

2.1.2 if 互斥狀況判斷

雙分支。經常使用於對立的兩個方面

#簡單示例
    if False
        print 'ok'
    else:
        print 'not ok'
    # 示例代碼
    for i in range(10):
        if i % 2 == 0:
            print "偶數:",i
        else:
            print "奇數:",i

2.1.3 if 多種狀況判斷

多分支。經常使用於多個狀況的選擇或者條件嵌套

# 簡單示例
    # 示例代碼
    if 0 < a < 100:
        print "a+100=:",a+100
    elif 100 <= a < 200:
        print "a+200=:",a+200
    elif 200 < a:
        print "a > 200"
    else:
        print "a < 0"

2.1.4 if 多個條件混合判斷

#示例代碼
    a = input("a的值:")
    b = input("b的值:")
    if a > 100 and b < 100:
        print "a > 100 and b < 100"
    else:
        print "不知足a>100,而且b<100"
    if a >= 100 or b >= 100:
        print "a >= 100 or b >= 100"
    else:
        print "a和b都不大於100"

2.2 條件循環結構

2.2.1 for循環遍歷

  • for 循環輸入

for 遍歷一個列表(或者返回列表的表達式),來處理輸入操做

a = [ ]
    for i in range(10):
        a.append(i)
        print a[i]
  • for 循環輸出

for遍歷一個列表(或者返回列表的表達式),來處理輸出操做。示例以下:

for i in 1,2,3,4:
        print i
    for i in range(10):
        print i
  • for 循環計算

2.2.2 while條件循環

2.3 控制跳轉

3. 模塊編程

3.1 語句和語句塊

python語句由換行符和縮進組成。語句塊是稍微複雜一點的帶有邏輯性的語句,如控制結構種的語句模塊。
語句和語句塊是模塊化編程的基礎,也就是語法基礎。由語句和語句塊,構成了編程文件。
語句和表達式的區別在於,表達式通常都有返回值,而語句只是一條包含了表達式的指令合集。

## 賦值語句
    a = 100
    a = input("輸入a:")
    ## 控制結構
    if a > 0:
        print a
    else
        print "hello"

上述示例種,控制結構語句塊,包含了條件表達式等

3.2 函數和模塊

若是說語句和語句塊,是編程語句的最基本組成。
那麼能夠由語句或者語句組成功能性更強,重複性更低的代碼段。能夠稱之爲函數。
函數的定義,在數學上爲:對輸入的不一樣的值,都進行一樣的操做,這也服務編程中函數的使用規範。
python函數,表示組織好的,可重複使用的,用來實現單一,或者相關功能的代碼段。
python解釋器,提供了不少內置函數,也支持用戶自定義函數
函數的使用,包括定義,調用,傳參,返回,變量做用域等概念。
函數在python中的引用極其重要,是python功能的體現。

3.2.1 函數的定義

語法層面上,函數以def關鍵字定義,後接函數名稱和圓括號括起來的參數列表
任何傳入參量和自變量,須要放入參數列表中
函數第一行語句,能夠選擇性的使用函數說明文檔。
函數一樣遵循python的語法,冒號+縮進
return 表達式,表示函數的結束,表示給調用者的返回。不帶表達式的函數返回None
定義函數時,須要肯定函數的名稱和參數個數;若是有必要,能夠先對參數的數據類型作檢查。

#語法結構
    def    functionname( parameters ):
        "函數_文檔字符串"
        function_suite
        return    [experssion]
    #示例代碼。打印字符串函數
    def helloworld(str):
        print "I am :%s" % str
    helloworld("liwanliang")

3.2.2 函數的調用

函數的定義完成以後,基本上可以知道函數的功能。函數功能的實現,經過在代碼中調用函數實現。
有多個默認參數時,調用的時候,既能夠按照順序提供的默認參數,也能夠不按順序提供部分默認參數。當不按順序提供部分默認參數時,須要把參數名寫上。

#示例代碼:
    def helloworld(str):
        print "I am :%s" % str
    myname = raw_input("input your name:")
    hellowrld(myname)

3.2.3 函數的傳參

python中,一切都是對象。對象才具備類型,而變量是對象的引用,無類型。
對象有可變對象,也有不可變對象。
可變對象包括:

  • list
  • dict

不可變對象包括:

  • string
  • tuple
  • number

python函數中,以變量來進行參數傳遞,分爲不可變類型和可變類型。
不可變類型傳遞的是值的拷貝,而可變類型傳遞得是值。
嚴格意義上講,咱們不能說是值傳遞,仍是引用傳遞。咱們應該說是傳可變對象和傳不可變對象。

#不可變對象示例代碼
    def liwanliang(a):
        a = 100
        print a
    b = 200
    liwanliang(b)
    print b
    #可變對象示例代碼
    def helloworld(str1,str2):
        print "Hello,I am:" + str1 +"."+ "I am "+ str2
    myname = raw_input("input your name:")
    myage = raw_input("input your age:")
    helloworld(myname,myage)

python可使用的正式參數類型:

  • 必備參數。即函數定義了參數,調用時也必定要傳入。
  • 關鍵字參數。即函數調用時,在參數列表中賦值傳入。
  • 默認參數。即函數調用時,未指定參數值時,則會默認爲函數定義時的值。
  • 不定長參數。即函數參數不定長時,經過*號表示不定長的參數列表。

可變參數容許傳入0個或者任意個參數,這些可變參數在函數調用時自動組裝爲tuple。
關鍵字參數容許傳入0個或者任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝成dict。

3.2.4 函數的返回

return 表達式。該語句表示退出函數,選擇性地向調用方返回一個表達式。不帶參數值的return語句返回None。
全部函數均有返回值,經過顯示指定,或者隱式返回None。
一個函數能夠有多個return語句,可是隻有一個被執行。若是沒有一條return被執行,則隱式返回None。
若是執行了return語句,函數會馬上返回,結束調用。被執行的return以後的語句,再也不被執行。
return和print的區別爲:print僅僅是函數代碼段中,打印標準輸出部分的語句;而return是結束調用時,返回給調用者的對象。
不管定時的返回什麼類型,return只能返回單個標準數據類型,單個數據類型能夠包括多種基本數據元素。
函數能夠同時返回多個值,但其實就是一個tuple。

  • 返回基本數據元素
    如整型,浮點型,布爾型,複數型
  • 返回標準數據類型
    如字符串,列表,元祖,字典,集合
  • 返回函數,閉包,匿名函數

3.2.3 高階函數

python高階函數中,函數能夠做爲參數,也能夠做爲返回值,而且參與函數運算。

3.3 包和類

相關文章
相關標籤/搜索