- *本節課內容參見: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 += nprint('從%s加到%s的結果為%s'%(1,n,a))n += 1 print('循環體結束之后')
?#循環不是無限的也不是死掉的,而是根據條件的真假而動態改變的,條件為真時,循環體執行,條件為假時,循環體終止
- break終止循環
print(111) while True:print(222)print(333)breakprint(444) print(555)
?#當while循環體遇到break關鍵字時,循環體終止并跳出循環
- continue結束本次循環繼續下一次循環(注意時繼續而不是終止)
n=0 while n<100:n+=1if 5<n<95:continueelse:print(n)
?#當n的值大于5而小于95時,本次循環結束,直接開啟下一輪循環
-
break和continue在多層循環語句中,只對其所在的最內層的循環體起作用,如例
n=0 while n<20:print(555)n+=1while True:if n>=1:break
#代碼將會打印20次555,盡管有break關鍵字,但break關鍵字只在內層的循環體中,并不影響外部循環體
?
?