1.回顧day02內(nèi)容
。粪牲。。
2. py支持的運(yùn)算符
- 數(shù)學(xué)運(yùn)算符止剖,
- 比較運(yùn)算符腺阳,
- 賦值運(yùn)算符,
- 邏輯運(yùn)算符穿香,
- (位運(yùn)算)
1.數(shù)學(xué)運(yùn)算符: +(加) -(減) *(乘) /(除) //(整除) %(取余) **(冪運(yùn)算)
- 優(yōu)先性同數(shù)學(xué)運(yùn)算
運(yùn)算符 | 使用說(shuō)明 |
---|---|
+ - * / | 對(duì)應(yīng)加 減 乘 除 |
// | 求商亭引,取整 |
% | 求商,取余 |
** | 冪運(yùn)算 |
2.比較運(yùn)算符:>, <, ==, !=, >=, <=,
比較運(yùn)算符的結(jié)果為布爾值
print(100 > 1000) #結(jié)果False
print(100 == 100) #結(jié)果True
3.邏輯運(yùn)算符:and, or, not
邏輯運(yùn)算符的操作對(duì)象皮获、結(jié)果都是布爾值
a.邏輯與:and 所有條件都為True 結(jié)果才是True焙蚓,只要有一個(gè)False結(jié)果就是False
True and True #True
True and False #False
False and False #False
False and True #False
- 應(yīng)用:要求多個(gè)條件同時(shí)滿足時(shí),使用and
b.邏輯或:or 所有條件都為False 結(jié)果才是Flase洒宝,只要有一個(gè)True购公,結(jié)果就是True
True or True #True
True or False #True
False or False #False
False or True # True
- 應(yīng)用:要求多個(gè)條件,至少有一個(gè)滿足
c.邏輯非 not 取反雁歌,True -False 宏浩,F(xiàn)alse-True
not True
not False
- 應(yīng)用:對(duì)一個(gè)條件進(jìn)行否定
#python中支持這種寫法
num = 10
print(100>num)
print(100>= 10 >=0)
- 練習(xí):獲取獎(jiǎng)學(xué)金條件:學(xué)習(xí)成績(jī)大于90并且評(píng)分不低于80,或者評(píng)分不低于95并且成績(jī)大于75
score1 = 80
score2 = 98
print((score1>90 and (not score2<80)) or ((not score2<95) and score1>75))
4.賦值運(yùn)算符:= += -= *= /= //= %= **=
- 左邊必須是變量靠瞎,復(fù)合賦值運(yùn)算符左邊要求除了是變量以外比庄,這個(gè)變量還必須已經(jīng)賦值過
- a. = 直接將右邊的值賦值給變量
num = 100
num = 12 * 2
- += -= *= /= //= %= **=
- 變量 += 值 相當(dāng)于 變量 = 變量+值
- 賦值過程:將變量中的值取出,和后邊的值相加乏盐,然后將新的結(jié)果賦值給變量
num = 2
num += 2 #4
5.運(yùn)算符的優(yōu)先級(jí)
- 數(shù)學(xué)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符 佳窑,
- (括號(hào)內(nèi)的優(yōu)先級(jí)最高)
num = 10
num += 12*3
print(num)
#通常不讓數(shù)字直接參與邏輯運(yùn)算,無(wú)運(yùn)算意義
print(10 and 3) #3
print(10 or 3) #10
3.#python 中和數(shù)字相關(guān)的類型
- int float bool complex
1.int(整型)
- 所有整數(shù)父能, 包括正整數(shù)华嘹,負(fù)整數(shù),和 0 例如 -100 28 0 +399
2.float(浮點(diǎn)型)
- 包含數(shù)字中所有小數(shù) 例如:0.12 -0.3.1415
支持科學(xué)計(jì)數(shù)法:2e3法竞, 2.13e3 結(jié)果為浮點(diǎn)型
print(2.13e3)
print(2e-3)
3.bool(布爾)
- True False,當(dāng)參與數(shù)字運(yùn)算時(shí) 代表1, 0
4.complex(復(fù)數(shù)) python 支持
- 復(fù)數(shù)是指包含實(shí)部和虛部的數(shù) 10+2j jj = -1
print((10+9j)(2+2j))
5獲取數(shù)據(jù)類型 使用 type() 函數(shù)
type1 = type(10+2j)
print(type1)
6.判斷是否是指定的類型 使用 isinstance() 函數(shù)
- isinstance(數(shù)據(jù)耙厚, 類型) 判斷數(shù)據(jù)是否是指定類型, 結(jié)果是bool值
num = 10
print(isinstance(num, bool))
# print(num.isinstance(float)) 無(wú)這種用法
7.類型轉(zhuǎn)換: 指定數(shù)據(jù)轉(zhuǎn)換成指定類型
- 類型名(數(shù)據(jù))
print(bool(10)) #非0 都是True
4. 分支結(jié)構(gòu):python只有if
1.if 結(jié)構(gòu)
- 語(yǔ)法:
if 條件語(yǔ)句:
語(yǔ)句塊
- if :固定寫法
- 條件語(yǔ)句: 可以是一個(gè)值,一個(gè)變量岔霸,一個(gè)運(yùn)算表達(dá)式薛躬,不能是賦值語(yǔ)句
- ':' 固定寫法 (在pytho中有冒號(hào)的地方通常都會(huì)有縮進(jìn))
- 語(yǔ)句塊 一行或者多行代碼;必須和if保持縮進(jìn)
- 執(zhí)行過程:先判斷條件語(yǔ)句結(jié)果是否為True(不是bool類型的值先轉(zhuǎn)化為bool值)呆细, 如果為True則執(zhí)行對(duì)應(yīng)語(yǔ)句塊型宝,否則跳過語(yǔ)句塊
- 應(yīng)用:某些操作需在一定條件下執(zhí)行八匠,不滿足則不執(zhí)行時(shí),使用if
2.if else
- 語(yǔ)法:
if 條件語(yǔ)句:
語(yǔ)句塊1
else:
語(yǔ)句塊2
- 執(zhí)行過程:先判斷條件語(yǔ)句結(jié)果是否為True(不是bool類型的值先轉(zhuǎn)化為bool值)趴酣,
- 如果為True則執(zhí)行對(duì)應(yīng)語(yǔ)句塊1梨树,否則執(zhí)行語(yǔ)句塊2
- 應(yīng)用:滿足條件執(zhí)行某個(gè)操作,不滿足則執(zhí)行另外的操作
age = 20
if age >= 18:
print('成年')
else:
print('未成年')
if age % 2:
print('奇數(shù)')
else:
print('偶數(shù)')
3.if elif else 語(yǔ)句
- 語(yǔ)法:
if 條件語(yǔ)句1:
代碼塊1
elif 條件語(yǔ)句2:
代碼塊2
elif 條件語(yǔ)句3:
代碼塊3
elif...任意個(gè)
else:
代碼塊n
- 說(shuō)明:elif 可以有無(wú)數(shù)個(gè) else 可以根據(jù)情況省略
- 執(zhí)行過程:先判斷條件語(yǔ)句1是否成立岖寞,成立執(zhí)行代碼1,整個(gè)if elif else語(yǔ)句結(jié)束;
條件語(yǔ)句1不成立時(shí)抡四,就判斷條件語(yǔ)句2,成立,執(zhí)行代碼2 整個(gè)語(yǔ)句結(jié)束; 以此循環(huán)仗谆,直至判斷完所有的條件語(yǔ)句指巡,
若都不成立,則執(zhí)行else后的語(yǔ)句
score = 60
if score > 90:
print('優(yōu)秀')
elif score >= 80:
print('良好')
elif score >= 60:
print('及格')
else:
print('不及格')
4.if嵌套
- 在 if elif else 的語(yǔ)句塊中可以根據(jù)情況寫一個(gè)或多個(gè)其他的if語(yǔ)句結(jié)構(gòu)
score = 60
if score > 90:
print('優(yōu)秀')
if score == 100:
print('滿分')
elif score >= 80:
print('良好')
elif score >= 60:
print('及格')
else:
print('不及格')
# 判斷一個(gè)數(shù)的奇偶隶垮,如果能被4整除則打印4的倍數(shù)
num = 8
if num % 2 :
print('奇數(shù)')
else:
if num % 4 == 0:
print('4的倍數(shù)')
print('偶數(shù)')
5. input函數(shù)補(bǔ)充藻雪,
- 不管輸入什么內(nèi)容,接收到的都是字符串的值
a = 100 + '20' #報(bào)錯(cuò)
a = 100 > '20' #報(bào)錯(cuò)
age = int(input('年齡'))
print(type(age))