1.python是腳本(解釋性語言)是動態(tài)語言需要是動態(tài)語言解釋器相當于python環(huán)境安裝
2.注釋、語句、標識符(給變量、函數命名)、關鍵字、常見數據類型、print、input
3.print(內容) 變量 = input(' 內容 ')
4.變量 = 值
num1 = 10
num2 = num1
print(num1,num2)
a = b =c =10
a, b, c = 1 ,2 ,3
num2 = '1= =2= =3'
print(num2)
- 數學運算符 + , -, , /, //, %,*
python分支結構只有if
什么時候需要if條件語句
當代碼不是一定會執(zhí)行 而是滿足某些條件時就可以使用就用if語句
if結構
"""
1)語法:
if 條件語句:
代碼塊
2)說明:
if ---- 關鍵字,固定寫法
條件語句 ---- 結果時布爾的表達式;本質可以是除了賦值語句以外的任何語句
---------- 例如:數據,已經聲明過的變量,運算表達式
:------- 固定寫法,(一般有:的地方后邊都會產生縮進)
代碼塊 ------- 和if保持一個縮進的一條或者多條語句;滿足某些條件才會執(zhí)行
3)執(zhí)行過程
先判斷條件語句是否為True(如果條件語句不是布爾值,先轉換成布爾值再判斷),
如果為True就執(zhí)行代碼塊中的語句,否則不執(zhí)行,直接執(zhí)行后面的其他語句
if True:
print('語句1')
print('語句2')
print('語句3')
結果為
語句1
語句2
語句3
if False:
print('語句1')
print('語句2')
print('語句3')
結果為
語句3
練習如果num為偶數,就打印偶數,否者不打印
num = 10
num1 = num % 2
if num1 == 0:
print('是偶數')
數字不為0都默認為True
if else
滿足一個條件執(zhí)行操作,不滿足這個條件執(zhí)行else操作
1.語法
>if 條件語句:
代碼塊1
else:
代碼塊2
2.說明
if---- 關鍵字,固定寫法
條件語句---- 結果時布爾的表達式;本質可以是除了賦值語句以外的任何語句
---- 例如:數據,已經聲明過的變量,運算表達式
:------ 固定寫法
代碼塊1 ---- 和if保持一個縮進的一條或者多條語句
else:----- 關鍵字,固定寫法
代碼塊2 ----- 和else保持一個縮進的一條或者多條語句
3.執(zhí)行過程
先判斷條件語句是否為True(如果不是布爾值,轉換成布爾值 在判斷)
如果為True,執(zhí)行代碼塊1,否者執(zhí)行代碼塊2
'''
練習 :如果num為偶數,就打印偶數,否者打印奇數
num = 11
num1 = num % 2
if num1 == 0:
print('是偶數')
else:
print('是奇數')
if num % 2 == 0:
print('是偶數')
else:
print('是奇數')
4. if-elif-else
1.語法
if 條件語句1:
代碼塊1
elif條件語句2:
代碼塊2
elif條件語句3:
代碼塊3
.....
else:
代碼塊4
其他語句
2.執(zhí)行過程
先判斷條件語句1是否為True,如果為True就執(zhí)行代碼塊1,
依次向下運行判條件語句2是否為True,如果為True就執(zhí)行代碼塊2
,向下運行判斷條件語句3是否為True,如果為True就執(zhí)行代碼塊3
否則直接跳轉else語句執(zhí)行
0-3幼兒
4-12兒童
13-17少年
18-28青年
29-49壯年
50-69中年
70以上老年
age = 12
if 0<=age <= 3:
print('幼兒')
elif age < 13: #age > 3
print('兒童')
elif age < 18:
print('少年')
elif age < 29:
print('青年')
elif age < 50:
print('壯年')
elif age < 70:
print('中年')
else:
print('老年')
5 if嵌套
可以在任何if結構中根據需求在寫其他的if結構
練習:打印一個數是否是偶數,否則打印奇數,如果能被4整除打印4的倍數
# 如果最后一位為3 就打印最后一位為3 否則打印最后一位不是3的奇數
num = 16
if num % 2 == 0:
print('偶數')
if num % 4 ==0:
print('4倍數')
else:
print('奇數')
if num % 10 == 3:
print('最后一位3')
else:
print('最后一位不是3的奇數')
練習:判斷一個三位數是否為水仙花數(個位3次方+十位3次方+百位3次方等于這個數本身)
153 == 13 + 53 + 3**3
num3 = 151
if num3 == ((num3%10)**3 +(num3//100)**3 +((num3//10)-(num3//100)*10)**3):
print('是水仙花')
else:
print('不是水仙花')
num3 = 153
if num3 == (num3%10)**3 +(num3//100)**3 +(num3//10%10)**3:
print('是水仙花')
else:
print('不是水仙花')
運算符、比較運算符、邏輯運算符、賦值運算、(位運算)
1.比較運算符: > ,<,==(等于),!=(不等于),>=,<=運算結果都是布爾值(True,False)
print(1 > 2)#結果False
print(3 > 2)#結果True
print(3 == 2)#結果False
print(3 >= 2)#True
print(3 <= 2)#結果False
#以下寫法適用python
num1 = 12
print(1 <= num1 <= 100)#True
num2 = 2 > 1
print(num2)#True
- 邏輯運算符and(邏輯與運算),or(邏輯或運算),not(邏輯非運算)
所有邏輯運算符的操作對象和結果都是布爾值
1)邏輯與運算
True and True #結果為True 否則結果為False
True and False #否則結果為False
False and False #結果為False
True and True and True and True #結果為True
True and True and True and False #結果為False
# 練習:獎學金條件:草評分不小于95和幾點不小于4分
score = 98
grade = 3.2
num2 = score >= 95
num1 = grade >= 4
print('能拿獎學金嗎?',num2 and num1)
#練習:判斷是否為兒童 大等于三歲和小等于12歲
age = 18
print('是兒童嗎',age>=3 and age <=12)
age = 18
print('是兒童嗎', 3<= age<= 12 )
邏輯或運算:兩個都是False結果才是False 只要有一個True結果就是True
True or True #結果為True
True or False #結果為True
False or False #結果為False
# 練習:獎學金條件:草評分不小于95 或者幾點不小于4分
score = 98
grade = 3.2
print('能得學金嗎',score>= 95 or grade>=4)#結果為True
# 練習:獎學金條件:草評分不小于95 或者幾點不小于2分 或者 草評分不小于80 或者幾點不小于4分
score = 98
grade = 3.2
a = 95<=score and 2<= grade
b = 80<=score and 4.5<= grade
print('能得學金嗎',(95<=score and 2<= grade) or (80<=score and 4.5<= grade))#這樣寫行
print('能得學金嗎',a or b)#這樣寫也行
短路操作
條件1 and 條件2 如果條件1的結果為False 那么系統(tǒng)不回去判斷條件2的結果,語句結果直接False
條件1 or 條件2 如果條件1的結果為True 那么系統(tǒng)不回去判斷條件2的結果,語句結果直接True
邏輯非運算 :布爾值取反True變Flase,Flase變True
not True 結果為Flase
not Flase 結果為True
對某個條件進行否定時使用
# 年齡不大于18
age <= 18
print(age <= 18)
print(not age > 18)
賦值運算符: =,+=,—=,=,/=,//=,%=,*=
所有的賦值運算符左邊必須是變量,
符合賦值運算符的左邊要求除了是變量意外此變量必須是賦過值的變量
賦值運算符右邊可以是數據、變量聲明過的變量、運算表達式
name = '護耳'
sum1 = 10+ 21
age1 = age
# 變量 += 數據 將變量中保存的值加上指定的數據 將結果重新保存到變量中
num2 = 10
num2 += 3 #相當于 num2 = num2 + 3
print(num2) #13
num2 = 10
num2 *= 3 #相當于 num2 = num2 * 3
print(num2)
num2 = 10
num2 /= 3 #相當于 num2 = num2 /3
print(num2)
print(int(num2))
所有運算符的優(yōu)先級
數學運算>比較運算(依次運算)>邏輯運算(not>and>or)可以用括號改變優(yōu)先級>賦值運算(最低)
例子
num3 = 10 +2 > 9 and 3 * 2 < 4
# num3 = 10 + 2 > 9 and 6 < 4
# 1.int(整數):包含所有整數,例如:20,-30
python中可以通過十進制、二進制、八進制和十六進制數的形式對整數進行表示
'''
1.十進制數
基數:0,1,2,3,4,5,6,7,8,9
進位:逢10進1
位權:123(10) = 1102 + 2101 + 310*0 (10的多少次方)
程序表示方法直接寫:
num = 12
num = 465
2.二進制數
基數:0,1
進位:逢 2進1
位權:101(2) = 122 + 021 + 12*0 (2的多少次方)
程序表示方法 基數只能01 在二進制數字前加0b
num = 0b1010
num = 0b1110
print(num)
3.八進制數
基數:0,1,2,3,4,5,6,7
進位:逢8進1
位權:56(8)= 581 + 68**0 (8的多少次方)
程序表示方法 基數只能0到7 在8進制數字前加0o
num = 0o1234
num = 0o7777
print(num)
3.十六進制數
基數:0,1,2,3,4,5,6,7,8, 9,a, b, c, d, e, f
進位:逢16進1
位權:1af(16)= 1162 + 10161 + 1616*0 (16的多少次方)
程序表示方法 基數只能0到f 在16進制數字前加0x
num = 0x11f
num = 0x1100f
print(num)
#進制數之間運算無差別
print(647 * 14)
print(647 * 0b1110)
# 這兩個結果都為9058
進制轉換
# 十轉換二進制
print(bin(16))
print(bin(36))
# 十轉換8進制
print(oct(1231236))
print(oct(3634434))
# 十轉換16進制
print(hex(163424))
print(hex(3454345356))
2.float(浮點數):包含所有的小數,12.5,-0.12
python支持科學計數法
# 1200 == 1.2e3 0.001 == 1e-3
print(1.2e3,1e-3)
3.bool(布爾):只有True和False兩個值
True本質就是數字1,False本質就是數字0
print(True+1)
print(False+1)
4.complex(復數):包含所有
5.type函數
type(數據) 獲取數據對應的類型
print(type(3))#<class 'int'>
print(type('sahhasi'))#<class 'str'>
6.類型轉換
類型名(數據) -->將數據轉換成指定類型
(數據):將數據轉換成整型;字符串去掉引號后,本身就是一個整數
float(數據):將數據轉換成浮點型;去掉引號后,本身就是一個數字,就能轉換成
bool(數據):數字轉換成布爾時,除了0和空串其他都會轉換成True
num=12.5
nnum=int(12.5)
print(nnum)
print(type(nnum),nnum)
num2=float(100)
print(type(num2),num2)
print(int(10.2))
print(bool(0))