1. 程式人生 > >Python學習第一天-第2節

Python學習第一天-第2節

  • *本節課內容參見:https://www.cnblogs.com/jin-xin/articles/7459977.html

 

 執行第一個Python程式

print('hello world')
  • 將文字檔案儲存為以.py結尾的檔案,如hello_world.py ,在終端中,執行命令:Python hello_world.py,在終端中顯示“hello world”
  • Python2.x與Python3.x在終端中執行Python檔案的方法一樣,即:Python+空格+Python檔案(與終端不在一個工作目錄下是,需要加上Python檔案的路徑)
  • #同時裝有Python2和Python3時,應當把Python2的執行檔案(即EXE檔案)修改為Python2.exe,在終端中可以區分用的是哪個版本的Python執行的檔案

 

變數

  • 定義:將運算的中間結果暫時儲存到記憶體上,以便後續程式碼呼叫

 

變數名

  • 含義:變數名是指向記憶體中變數的名稱,當變數沒有指向其的變數名時,該變數將通過垃圾回收機制被釋放掉
  • 變數名命名的要求:1.必須由數字、字母、下劃線的任意組合構成,且不能以數字開頭;2.不能是Python中的關鍵字;3.具有可描述性(非強制性,不會報錯);4.不能是中文或者是拼音(非強制,不會報錯);5.變數名不能太長(非強制,不會報錯)

    #如果變數名報錯,只用看違反了第一條還是第二條

  • 命名形式,推薦下劃線體 age_of_me=18
  • 變數的賦值,賦值是以“=”實現的(在Python中,雙等號“==”是判斷是否相等的比較),先計算等號右邊的內容,然後將值賦給等號左邊的變數名
  • Python中所有的量都是可以更改的,所以嚴格意義上,Python中是不存在常量的,不過Python中,約定俗稱,變數名全部用大寫字母表示的為常量,如:BIR_OF_CHINA=1949。

 

註釋

  • 用途:解釋程式碼,方便維護
  • 形式:1.#號後邊的內容(單行註釋);2..三引號(成對出現的三個單引號或者雙引號,多行註釋)
  • 用在重要程式碼處,不要處處留註釋

 

基礎資料型別-初識

  • 數字:整形(int);浮點型(float)

    #可以參與的運算:加(+)、減(-)、乘(*)、除(/)、地板除(也叫取整,//)、求模(也叫取餘,%)、冪(**)

  • 字串:用成對的單引號或雙引號,甚至是三引號(用於多行字串),括起來的內容(str)

    #可以參與的運算:拼接(+,字串與字串之間進行的操作),重複n次(*n,字串與整數之間的操作)

  • bool值:只有兩種狀態,True和False
  • 字串型別可以轉換為數字,使用int(str)方法,其中字串必須由數字構成,否則報錯;任意的數字型別都可以轉化為字串,使用str(int)方法,等同於數字兩側加引號
  • 用type()方法來判別資料型別

 

使用者互動:即人機對話,在Python中是指input()方法

  • name=input('what is your name?')
    age=input('請輸入您的年齡')
    print(name,age)

     

  •  input()方法所產生的資料,其型別都是字串

 

if條件語句(也叫流程控制)

  • 在Python中要求強制縮排,即頂級程式碼頂行寫,次級程式碼比上級程式碼縮排一個製表符位置(即table)
  •  

    if 條件:
        滿足頂級程式碼要求(也即頂級程式碼條件為真,下同)時的結果
    單分支
    if 條件:
        滿足頂級程式碼條件的結果
    else:
        不滿足頂級程式碼條件的結果
    雙分支:如果怎麼就如何,否則。。。

     雙分支例項

    name=input('請輸入你所熟悉的程式語言:')
    if name=='python':
        print('人生苦短,我用%s'%name)
    else:
        print('少年,考慮下python吧!')

     

    if 條件:
        滿足頂級程式碼條件的結果
    elif 條件:
        不滿足之前頂級程式碼的條件但滿足本頂級程式碼條件時的結果
    elif 條件:
        不滿足之前頂級程式碼的條件但滿足本頂級程式碼條件時的結果
    。。。
    。。。
    elif 條件:
        不滿足之前頂級程式碼的條件但滿足本頂級程式碼條件時的結果
    elif 條件:
        不滿足之前頂級程式碼的條件但滿足本頂級程式碼條件時的結果
    else:
       之前所有頂級程式碼條件都不滿足的結果
    多分支

     多分支例項

    name=input('請輸入你所熟悉的程式語言:')
    if name=='python':
        print('人生苦短,我用%s'%name)
    elif name=='c':
        print('en,學c的都是大牛吧')
    elif name=='php':
        print('學PHP容易讓人誤解為拍黃片吧?')
    else:
        print('少年,考慮下python吧!')

     

    if 條件:
        if 條件:
            if 條件:
    。。。
    。。。
    巢狀

     巢狀例項

    name=input('請輸入你所熟悉的程式語言:')
    age=int(input('請輸入學習時間:'))
    if name=='python':
        if age > 5:
            print('perfect')
        elif 3<age<=5:
            print('good')
        else:
            print('just so so')
    else:
        print('少年,考慮下python吧!')

     

  • if條件語句注意事項:1.語句後面的冒號必須是英文狀態下的冒號(:);2.縮排可以是table製表符,也可以是空格,但在一個Python文字中,不可以table和空格混用,否則報錯,Python官方推薦和預設縮排使用table製表符,程式設計過程中應當使用table,而非空格;3.在多分支中,從上至下,只要滿足一個條件(即只要有一個條件為真),後面的程式碼將不會再執行;4.if / else的結果可以直接寫在else的冒號“:”之後,但僅限於else的結果比較簡單時,如下程式碼,將執行列印444
    if 5>6:print(666)
    else:print(444)

     

while迴圈語句

  •  基本語句
    while 條件:
        迴圈體

     #條件只要是可以比較得出真假的條件都可以,當條件為真時,迴圈體將執行一次,然後再次判斷條件,條件為真時,迴圈體再執行一次,條件如果一直為真,迴圈體將無限迴圈;直到當條件為假時,迴圈將終止。

  • 無限迴圈
    print('迴圈體開始之前')
    while True:
        print('hello world')
        print('你好,世界')
    print('迴圈體結束之後')

     #程式碼執行後,將會列印“迴圈體開始之前”,然後條件為真,“hello world”和“你好,世界”將會無限迴圈下去(這也稱之為死迴圈),即使終止程式碼執行,“迴圈體結束之後”也不會列印

  • “死掉的”迴圈
    print('迴圈體開始之前')
    while False:
        print('hello world')
        print('你好,世界')
    print('迴圈體結束之後')

     #程式碼執行後,將會列印“迴圈體開始之前”,然後條件為假,迴圈體將不會執行,直接執行迴圈體之後的程式碼,列印“迴圈體結束之後”,這種迴圈就真的是死掉的迴圈了

  • 動態迴圈
    print('迴圈體開始之前')
    n=1;a=0
    while n<=100:
        print('n為%s' % n)
        a += n
        print('從%s加到%s的結果為%s'%(1,n,a))
        n += 1
    print('迴圈體結束之後')

     #迴圈不是無限的也不是死掉的,而是根據條件的真假而動態改變的,條件為真時,迴圈體執行,條件為假時,迴圈體終止

  • break終止迴圈
    print(111)
    while True:
        print(222)
        print(333)
        break
        print(444)
    print(555)

     #當while迴圈體遇到break關鍵字時,迴圈體終止並跳出迴圈

  • continue結束本次迴圈繼續下一次迴圈(注意時繼續而不是終止)
    n=0
    while n<100:
        n+=1
        if 5<n<95:continue
        else:print(n)

     #當n的值大於5而小於95時,本次迴圈結束,直接開啟下一輪迴圈

  • break和continue在多層迴圈語句中,只對其所在的最內層的迴圈體起作用,如例

    n=0
    while n<20:
        print(555)
        n+=1
        while True:
            if n>=1:break

    #程式碼將會列印20次555,儘管有break關鍵字,但break關鍵字只在內層的迴圈體中,並不影響外部迴圈體