Python學習第一天-第2節
阿新 • • 發佈:2018-11-09
- *本節課內容參見: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關鍵字只在內層的迴圈體中,並不影響外部迴圈體