運(yùn)算符:數(shù)據(jù)運(yùn)算符退盯,比較運(yùn)算符枫浙,邏輯運(yùn)算符匾委,賦值運(yùn)算符
2.比較運(yùn)算符:>,<,==,!=,>=,<=
所以比較運(yùn)算符的結(jié)果都是布爾值
print(100 > 10) #True
print(100 > 100) #False
print(100 < 10) #False
print(100 < 1000) #True
print(100 == 100) #True
print(100 == 10) #False
print(100 != 100) #False
print(100 != 10) #True
print(100 >= 100) #True
print(100 >= 1000) #False
print(10 <= 10) #True
將運(yùn)算結(jié)果賦值給變量
result1 = 10 >= 1
result1 = 10 + 100
print(result1, result1)
3.邏輯運(yùn)算符:and让虐,or,not
所有邏輯運(yùn)算符的結(jié)果都是布爾值黑滴,操作對象也是布爾值
a.邏輯與運(yùn)算:and
運(yùn)算規(guī)則:兩個都為True憨募,結(jié)果才是True;只要有一個是False袁辈,結(jié)果就是False菜谣。(相當(dāng)于生活中的并且)
"""
True and True = True
True and False = False
False and True = False
False and False = False
"""
應(yīng)用:要求多個條件同時滿足的時候,使用and將多個條件滿足在一起
score = 90
age = 20
進(jìn)入公司的條件:分?jǐn)?shù)不低于90分并且年齡大于25
print(score >= 90 and age > 25)
判斷num是否在0到100之間
num = 10
print(0 <= num <= 100) #寫法1
print(num >= 0 and num <= 100) #寫法2
b.邏輯或運(yùn)算:or
運(yùn)算規(guī)則:兩個都為False,結(jié)果才是Flase葛菇;只要有一個是True甘磨,結(jié)果就是True。(相當(dāng)于生活中的或者)
"""
True or True ==True
True or Flase ==True
False or True ==True
False or False ==False
"""
應(yīng)用:要求多個條件中至少有一個條件滿足的時候眯停,使用or將多個條件連接在一起
score1 = 80 #學(xué)習(xí)成績
score2 = 98 #草頻分
#獲取獎學(xué)金的條件:學(xué)習(xí)成績大于90分或者草頻分大于95分
print('是否獲得獎學(xué)金:',score1 > 90 or score2 > 95)
c.邏輯非運(yùn)算:not
運(yùn)算規(guī)則: True變False,F(xiàn)alse變True
"""
not True == False
not False == True
"""
# 應(yīng)用:對一個條件進(jìn)行否定
進(jìn)入往往把的條件:年齡不小與18
age = 9
print('是否能進(jìn)入網(wǎng)吧', not age < 18)
print('是否能進(jìn)入網(wǎng)吧', age >= 18)
練習(xí):獲取獎學(xué)金的條件:學(xué)習(xí)成績大于90分并且草評分不低于80卿泽,或者草頻分不低于95分并且學(xué)習(xí)成績大于75分
score1 = 80 #學(xué)習(xí)成績
score2 = 98 #草頻分
print('是否獲得獎學(xué)金', (score1 > 90 and score2 >= 80) or (score2 >= 95 and score1 > 75))
4.賦值運(yùn)算符:=,+=,-=,=,/=,//=,%=,*=
所有的賦值運(yùn)算符左邊要求都必須是變量莺债;復(fù)合賦值運(yùn)算左邊要求除了是變量以外,這個變量還必須已經(jīng)賦過值
a.=:直接將=右邊的值賦給左邊的變量
num = 100
num = 12 * 2
b.=,+=,-=,=,/=,//=,%=,*=
變量 += 值 相當(dāng)于 變量 =變量 + 值
賦值過程:將原變量中的數(shù)據(jù)取出來签夭,和后面的值相加齐邦,然后將新的結(jié)果重新賦給變量
num2 = 10
num2 += 2 #num2 = num2 + 2 num2 =10 + 2 num2 =12
print(num2)
num2 = 100
num2 *= 5
print(num2)
num2 = 100
num2 /= 2
print(num2)
5.運(yùn)算符的優(yōu)先級
數(shù)學(xué)運(yùn)算符 > 比較運(yùn)算符 > 邏輯運(yùn)算符 > 賦值運(yùn)算符
先算優(yōu)先級高的,再算優(yōu)先級低的第租。如果有括號措拇,先算括號里面的
num = 10
num += 12 * 3 # num += 36
print(num)
num = 10
num += True
print(num)
# 注意:不要讓數(shù)字參與邏輯運(yùn)算,沒有任何意義
python中和數(shù)字相關(guān)的類型有4種: int慎宾,float丐吓,bool,complex
1.int(整型)
整型包含了數(shù)字中所有的整數(shù)趟据,包括正整數(shù)券犁;負(fù)整數(shù)和0; 例如:0汹碱,10粘衬,-100,+123
print(10,-100,+222,0)
2.float(浮點(diǎn)型)
浮點(diǎn)型包含數(shù)字中所有的小數(shù)咳促;例如:0.0稚新,0.12,-3.14
支持科學(xué)計算法:2e3
print(0.0,0.12,-3.14)
print(2e3) #2e3 = 2*10**3 =2000
print(2e-3) #2e-3 =2*10**(-3) =0.002
# 補(bǔ)充:可以利用**來進(jìn)行開發(fā)運(yùn)算
print(9**(1/2)) #9開平方
print(8**(1/3)) #8開3次方
3.bool(布爾)
布爾只有True和False兩個值;實(shí)質(zhì),放布爾參與到數(shù)字原酸的適合True就是1,False就是0
print(True == 1)
print(False == 0)
4.complex(復(fù)數(shù))
復(fù)數(shù)是指包含實(shí)部和虛部的這種數(shù):10+2j,19j,-10j
print(10+2j)
print((10+2j)+(11-8j))
5.獲取數(shù)據(jù)的類型:type()
type(數(shù)據(jù)) -獲取括號中執(zhí)行的數(shù)據(jù)對應(yīng)的類型
type1 = type(10+2j)
print(type1)
print(type(True))
print(type(3))
6.判斷是否是指定的類型:isinstance()
isinstance(數(shù)據(jù),類型) -判斷指定的數(shù)據(jù)是否是指定的類型,結(jié)果是給布爾值
result = isinstance(10,float) #判斷數(shù)字10是否是float
print(result)
num = 10
result = isinstance(num,float)
print(result)
7.類型轉(zhuǎn)換,類型名()
類型名(數(shù)據(jù)) -將指定的數(shù)據(jù)轉(zhuǎn)換成指定的類型
num = 12.5
new_num = int(num)
print(new_num)
print(float(10))
print(float(True))
print(bool(-10.12)) #布爾轉(zhuǎn)整型或者浮點(diǎn)型:True ->1/1.0 False ->0/0.0
# 整型/浮點(diǎn)型轉(zhuǎn)布爾:非0數(shù)字 ->True 0/0.0 -> False
price = 100
num = float(price)
print(num)
price = 123.123123
num = int(price)
print(num)
分支結(jié)構(gòu):只有if語句(if條件語句)
1.if語句
a.語法
"""
if 條件語句:
語句塊
"""
b.說明
"""
if - 固定寫法,是關(guān)鍵字
條件語句 -可以是一個值,一個變量,一個運(yùn)算的表達(dá)式,不能是賦值語句
: - 固定寫法,(在python中有冒號的地方一般都會產(chǎn)生縮進(jìn))
語句塊 - 一條或多行代碼;(必須和if保持一個縮進(jìn))
"""
c.執(zhí)行過程: 先判斷條件語句的結(jié)果是否為True(如果不是布爾值就看轉(zhuǎn)換為轉(zhuǎn)布爾后是否為True),
如果為True就執(zhí)行語句塊對應(yīng)的代碼.否則就不執(zhí)行語句塊的對應(yīng)代碼
d.應(yīng)用:某段操作或者某段代碼是在滿足某個條件下才會執(zhí)行,不滿足條件就不執(zhí)行的時候就使用if條件語句
if 100:
print('if語句1')
print('if語句2')
if 100 > 10:
print('100大于10')
print('語句3')
如果age的值大于等于18歲就打印'成年'
age = 18
if age >= 18:
print('成年')
2.if-else
a.語法:
"""
if 條件語句:
語句塊
else:
語句塊2
"""
b.執(zhí)行過程:判斷條件語句是否為True(如果不是布爾就轉(zhuǎn)換為布爾再看是否為True),
如果為True就執(zhí)行語句塊1,否則執(zhí)行語句塊2
c.應(yīng)用:滿足條件執(zhí)行某個炒作,不滿足談條件執(zhí)行另外的操作,就使用if-else結(jié)構(gòu)
num = 10
if num % 2 == 0:
print('偶數(shù)')
else:
print('奇數(shù)')
if num % 2:
print('奇數(shù)')
else:
print('偶數(shù)')
如果age的值大于等于18歲打印'已成年'否則打印'未成年'
age = 17
if age>=18:
print('已成年')
else:
print('未成年')
print('不能進(jìn)網(wǎng)吧')
3.if-elif-else結(jié)構(gòu)
a.語法:
"""
if 條件語句1:
代碼塊1
elif 條件語句2:
代碼塊2
elif 條件語句3:
代碼塊3
else:
代碼塊4
"""
b.說明在if-elif-else,elif可以根據(jù)情況有多個,else結(jié)構(gòu)根據(jù)情況可以省略
c.執(zhí)行過程:先判斷條件語句1是否成立,成立執(zhí)行代碼塊1,然后整個if語句結(jié)束;
條件語句1不成立的,就判斷條件語句2是否成立,成立執(zhí)行代碼塊2,然后整個if語句結(jié)束;
條件語句2不成立的,就判斷聽見語句3是否成立,成立執(zhí)行代碼塊3,然后整個if語句結(jié)束;
如果前面所有的條件語句都不成立跪腹,就執(zhí)行else后面的代碼塊
score = 100
"""
score > 90 -->優(yōu)秀
90<= score <=90 -->良好
score < 60 -->不及格
"""
if score > 90:
print('優(yōu)秀')
elif 80 <= score:
print('良好')
elif 60 <= score :
print('及格')
else:
print('不及格')
4.if嵌套
在if褂删,elif,else對應(yīng)的語句塊中尺迂,可以根據(jù)情況寫一個或多個其他的if語句結(jié)構(gòu)
if score > 90:
print('優(yōu)秀')
if score == 100:
print('滿分')
elif 80 <= score:
print('良好')
elif 60 <= score :
print('及格')
else:
print('不及格')
判斷一個數(shù)是否是偶數(shù)笤妙,如果是打印'偶數(shù)'否則打印'奇數(shù)',如果這個數(shù)能被4整除噪裕,打印4的倍數(shù)
num = 21
if num % 2 == 0:
print('偶數(shù)')
if num % 4 == 0:
print('4的倍數(shù)')
else:
print('奇數(shù)')
05-str
# print(100 + 34)
# print(100 + '20')
# input函數(shù)蹲盘,不管輸入的內(nèi)容是什么,結(jié)果都是字符出啊類型的值
age = int(input('年齡')) #將輸入的數(shù)據(jù)裝潢成整型數(shù)據(jù)膳音,然后在賦給變量age
print(type(age))
age = int(age)
if age >=18:
print('已成年')
else:
print('未成年')