Python-day2
一、常用的快捷鍵 (不是隻在python中有效)
ctrl+/ 新增註釋/取消註釋
ctrl+s 儲存
ctrl+b 編譯
ctrl+r 執行(編譯+執行)
ctrl+c 複製/拷貝
ctrl+v 貼上
ctrl+x 剪下
ctrl+z 撤銷
ctrl+shinf+z 反撤銷
ctrl+y 反撤銷
ctrl+f 查詢
ctrl+a 全選
ctrl+n 新建
shift 可以選中部分(和滑鼠配合,選中開始和結束中間的部分)。
ctrl 可以讓多個位置出現游標(和滑鼠配合)。
二、python的基本語法
1.註釋(寫在程式碼中不參與編譯執行的部分就是註釋,作用用來對程式碼進行註釋說明,方便程式更好的閱讀程式碼)
注意:要勤寫註釋,方便自己也方便別人!
a.單行註釋:在文字內容的前面加#號。
b.多行註釋:
每一行前都加一個#號
將註釋放在三個單引號/三個雙引號中(推薦使用雙引號) 例子如下:
"""
我是註釋1
我是註釋2
"""
'''
我是註釋1
我是註釋2
'''
2.識別符號:識別符號是用來命名的(比如變數名、函式名、類名)
要求:a.有字母 數字 下劃線組成,並且數字不能開頭 ---python2.x規範
b.在Unicode編碼中,出來ASCTII碼錶中的字母 數字 下劃線以外不能作為識別符號的一部分,其他的都可以。數字不能開頭(有字母數字下劃線和中文組成,數字不能開頭) ---python3.x規範
注意:在實際開發中,現在還是推薦使用python2.x的規範。
3.語句。
c/java語法,每條語句結束必須加分號。
python中一條語句可以加分號也可以不加;如果一行要顯示多條語句,那麼每條語句之間必須加分號。
4.行和縮排。
python中對縮排有嚴格規範,要求同樣等級的程式碼對應的縮排必須一致;只有在需要產生程式碼塊的時候才需要加縮排。
行:要求函式的宣告和類的宣告的前後需要有兩個空行(不要報錯)。
5.多行顯示問題。
a.在需要換行的位置加個\,然後再換行(\不要破環資料本身)。
b.如果是陣列 字典 元祖和集合的值可以直接換行。
6.常見的資料型別及其字面量。
整型(int) 浮點型(float) 字串(str) 布林(bool) 列表(list) 字典(dict)。
整型:相當於數學中的整數,列如:100,-12,+30。
浮點型:帶小數點的數,列如:12.5 ,3.14,0.23。
布林型:只有兩個值分別是True(真)和False(假)。
字串:用單引號或者雙引號括起來的資料,列如:'100','abc',"abc100"。
7.關鍵字(保留字)
在python中有特殊功能和特殊意義的一些識別符號(單詞)。
import keyword 匯入keyword模組
print(keyword.kwlist) 列印所有
['false','none','true','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambad','ninlocal','not','or','pass','raise','return','try','while','with','yield']
# 注意:在上面[]中的內容才是關鍵字,其他的不是。
三、數字型別
不同的型別所佔的儲存空間不同。
1.python中的數字型別有四個:整型(int)、浮點型(float)、布林(bool)、 複數(complex)。
a.整型(int):包含python所有的整數,python3.x整型只有int型別一種,但是python2.x出來int還有long。如:100,-100,+54。
b.浮點型(float):包含python所有的小數.如:12.89,-123.98,+237.89。
注意:浮點型支援科學計數法.如下:
print(12e2) 注:12e2=12*10^2
print(12e-3) 注:12e-3=12*10^(-3)
c.布林(bool):布林型別的值只有兩個,分別是True(真)和False(假)。
注意:布林值的首字母是大寫的。
True對應的數值是1,False對應的數值是0。
d.複數(complex)
複數:有實部和虛部組成的數字。如:10+10j
2.type(數值/變數);獲取括號中值的型別。
print(type(10j)) 獲取型別為complex(複數)
print(type(100)) 獲取型別為int(整型)
print(type(True)) 獲取型別為bool(布林型)
print(type(2e2)) 獲取型別為float(浮點型)
3.型別名():將其他的型別的資料轉換成當前型別。
print(int(12.6)) 獲取的答案為:12
print(bool(10)) 獲取的答案為:True
print(float(100)) 獲取的答案為:100.0
print(complex(20)) 獲取的答案為:20+0j
注意:複數不能轉換為整型和浮點型資料型別。
四、變數
1.什麼是變數
宣告變數,就是在記憶體中開闢空間儲存資料。變數就是程式在記憶體中儲存資料的容器。
2.怎麼宣告變數?
C/Java宣告變數:型別 變數名=初值;
python宣告變數:變數鳴=初值
變數名=初值
說明:a.變數名:程式設計師自己命名,要求是識別符號,並且不能是關鍵字;所有的字母必須小寫,如果變數名是多個單片語成,多個單詞之間用下劃線隔開;見名知義(看見變數名,要知道這個變數大概存的什麼樣的資料)。
b.=:賦值符號,功能是將=右邊的值賦給左邊的變數。
c.初值:有值的表示式(具體的字面量,其他已經宣告過的變數)。
宣告一個變數並且賦值為100。如下:
number=100
print(number) 輸出的值為100
True=12.5 錯誤為:SyntaxError: can't assign to keyword
1abc=True 錯誤為:SyntaxError: invalid syntax
宣告一個變數student_name,賦值為'小明'。
注意:雖然int、float、bool、str、等不是關鍵字,但是在需要命名的時候最好用他們來命名。
student_name='小明'
print(student_name)
3.宣告完一個變數可以給變數重新賦值。
重新賦值後,新的值會覆蓋變數中原來的值。
student_name='小花'
print(student_name)
python中,同一個變數可以儲存不同型別的值。
student_name=100
print(student_name)
4.同時宣告多個變數。
變數名1=變數名2=變數名3-初值
如:a=b=c=123
print(a,b,c) print同時列印多個資料,多個資料自己用逗號隔開。
將變數student_name中的值,賦給new_name。
new_name=student_name
注意:變數只有在賦完值後才能使用(只能宣告後才能使用)。
print(new_name2) 錯誤為:NameError: name 'new_name2' is not defined
五、運算子
python中運算子:數學運算子、比較運算子、邏輯運算子、賦值運算子、位運算。
1.數學運算子:+,-,*,/,%(取餘),//,**。
a.+;求和,和數學中的加號一樣。
b.-:求差,和數學中的減號一樣。
c.*:求乘積,和數學中的乘號一樣。
d./:求商,和數學中的除號一樣。
注意:和c語言中的/不一樣。
e.%:求餘數。
注意:python中小數和整數可以求餘數。
print(5%2) 輸出的結果為:1
print(5.5%2) 輸出的結果為:1.5
f.//:求商,結果只取商的整數部分。
print(5//2) 輸出的結果為:2
# g.**(冪運算):求冪。
x**y:求x的y次方。
技巧:可以通過把y的值設定為1/2(0.5)來求一個數的開平方。例子如下:
print(2**3) 輸出的結果為:8
print(100**0.5) 輸出的結果為:10.0
2.比較運算子:>,<,==,!=,>=,<=。
比較運算的結果是布林值:True/False。
==:判斷左右兩邊的值是否相等,=:將右邊的值賦給左邊的變數。
3.邏輯運算子:and(與),or(或),not(非)。
邏輯運算子的結果也是布林值,運輸物件也必須是布林值。
a.and:值1 and 值2 :兩個都是True,結果才是True,否則都是False。
print(True and True) 輸出的結果為:True
print(True and False) 輸出的結果為:False
print(False and True) 輸出的結果為:False
print(False and False) 輸出的結果為:False
練習:設定獲得獎學金的條件:績點在3.5以上,並且操評分高於90。
grade=3.8
score=95
# 條件1:
grade>3.5
# 條件2
score>90
print(grade>3.5 and score>90) 輸出的結果為:True
注意: 什麼時候使用and:要求多個條件同時滿足的時候使用and連線。
b.值1 or 值2:兩個都是False的時候才是是False,否則為True。
print(False or False) 輸出的結果為:False
print(False or True) 輸出的結果為:Ture
print(True or True) 輸出的結果為:True
練習:是否穿毛衣出門:溫度低於20度,或者風速高於五級。
temperature=22
wind_speed=6
# 條件1
condition1=temperature<20
# 條件2
condition2=wind_speed>5
print(condition1 or condition2) 輸出的結果為:True
注意:什麼時候使用or:要求多個條件中有一個條件滿足。
3.not值:值取反(True->False;False->True)。
print(not True) 輸出的結果為:False
print(not False) 輸出的結果為:True
age=18
# 條件:年齡不大於18
print(age<=18)或者print(not age>18)
注意:否定某個條件時用not。
4.python中and和or會有短路現象。
and的短路現象:值1 and 值2 -->一旦確定值1的值是False,就不會再去執行判斷值2。
or的短路現象:值1 and 值2 -->一旦確定值1的值是Ture,就不會再去執行判斷值2。
5.賦值運算子:=,+=,—=,*=,%=,//=,**=。
賦值運算子的左邊必須是變數,賦值的時候是先算賦值符號右邊的結果,然後再將結果賦給左邊的變數。
a.=:單純的將=右邊的值賦給左邊。
b.+=,—=,*=,%=,//=,**=
要求左邊的變數本身必須有值。
num=100
num+=10
print(num) 相當於:num=num+10
num1=4
num1*=2
print(num1) 相當於:num1=num1+2
6.運算子的優先順序:
a.數學運算子>比較運算子>邏輯運算子>賦值運算。
b.先計算優先順序高的,如果優先順序相等就從左往右依次運算。
c.如果有括號,先算括號裡面。
d.數學運算子:**>*,*,/,%,//>+,-。
六、今日作業
1.寫程式碼獲取數字1234中的十位上和百位上的數字?
x=1234
求十位上的數字:
print(x//10%10)
求百位上的數字
print(x//100%10)
2.如果變數n的值是6784, 以下表示式的結果是多少?
n / 1000 % 100 結果為:6.784
n % 1000 / 100 結果為:7.84
n // 100 % 10 結果為:7
n // 10 % 100 // 10 結果為:7
3.表示式 10 / 4 + 23 // 4 * 2 - 30 的結果是多少?
print(10 / 4 + 23 // 4 * 2 - 30) 結果為:17.5
4.寫出下面每一行中n3的結果:
n1 = 4; n2 = 5
n3 = n1 >n2 結果為:False
n3 = n1<n2 結果為:True
n3 = n1==4 結果為:True
n3 = n1!=4 結果為:False
n3 = n1 == 1+3 結果為:True
5.寫出以下程式碼執行完成後,num的結果
num = 10
num /= 2
num += 10 * 10 / 4 + 2*3**2 結果為:48
6.下面定義變數正確的是(a)
a. a = b = c = 10
b. a, c = 10
c. in = 20
d. num = 10; t = 20