一、Python中的數(shù)據(jù)類型
Number【數(shù)字:int整數(shù)吱窝;浮點數(shù)(小數(shù))float走敌;復(fù)數(shù)complex】
string(字符串) ,boolean(布爾值),,None(空值),list(列表),tuple(元組),dict(字典),set(集合),bytes(字節(jié))
二孙援、運算符合表達(dá)式
1、表達(dá)式作用:可以求值挖息,也可以給變量賦值
2、運算符
2.1算術(shù)運算符
+? ? -? *(乘法)? /(除法)? %(求余)? **(求冪)? //(取整)
代碼演示:
num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)? #浮點型:1.6666666666666667? ? 默認(rèn)精度16位
print(num1 % num2)? #2
print(num1 ** num2) #5的3次方
print(num1 // num2) #獲取浮點數(shù)的整數(shù)部分
#除了+和-之外兽肤,其他的算術(shù)運算符都是相同的優(yōu)先級
#出現(xiàn)優(yōu)先級套腹,解決辦法使用括號
print((2 ** 5) * 3)
2.2 賦值運算符
簡單的賦值運算符 : = 給一個變量進(jìn)行賦值
復(fù)合賦值運算符: +=? ?-=? %=? /=? 給一個變量進(jìn)應(yīng)行賦值,同時給變量進(jìn)行相應(yīng)的運算
簡單:num1 = 10
#注意:在賦值的過程中资铡,先計算等號右邊的表達(dá)式电禀,然后將計算的結(jié)果賦值給等號左邊的變量
num2 = num1 + 10
print(num2)
復(fù)合
num3 = 10?
num3 += 100#等價于num3 = num3 + 100
print(num3)
2.3關(guān)系【條件,比較】運算符
作用:比較大小笤休,得到結(jié)果為布爾值【如果表達(dá)式成立鞭呕,則返回Ture,如果不成立宛官,則返回False】
>? ?<? ?>=? <=? ?==(等號)? 葫松!=(不等于)
使用場景:if 語句,循環(huán)
代碼演示:
x = 3
y = 5
print(x > y)? ? #False
print(x < y)
print(x == y)
print(x != y)
print(x >= y)? #False
print(x <= y)? #True
2.4邏輯運算符
and (與)? ?or (或)? ?not(非)
2.5成員運算符合身份運算符
成員運算符:? in? not in?
身份運算符:is? is not
2.6 位運算符
& 【按位與】? ?|【按位或】 ^【按位異或】? ~【按位取反】 << 【左移】? ?>> 【右移】
代碼演示
print(6 & 3)
print(6 | 3)
print(6 ^ 3)
print(~6)
print(6 << 2)
print(6 >> 2)
三底洗、If 語句
1.代碼結(jié)構(gòu)
順序結(jié)構(gòu):代碼重上往下一次執(zhí)行
分支結(jié)構(gòu):根據(jù)不同的條件腋么,執(zhí)行不同的代碼語句
循環(huán)結(jié)構(gòu)域:根據(jù)指定的條件,重復(fù)執(zhí)行某段代碼
2.分支結(jié)構(gòu) if 語句
2.1 簡單的if語句【單分支】
語法:
if 表達(dá)式:執(zhí)行語句
說明要么執(zhí)行亥揖。要么不執(zhí)行珊擂,當(dāng)表達(dá)式檉柳之后,則執(zhí)行語句费变,如果表達(dá)式不成立摧扇,則直接跳過整個if語句,繼續(xù)執(zhí)行后面的代碼
注意表達(dá)式為真才執(zhí)行語句
假: 0? 0.0? ?“”? ?None【空值】
代碼演示:
單份支
num1 = 50?
num2 = 60
#需求: 當(dāng)num1? == num2 挚歧,則給num1重新 賦值為100
#在pYthon中扛稽,通過縮進(jìn)來區(qū)分代碼塊
if num1 != num2:
num1 = 100
print(num1)
練習(xí):從控制臺輸入一個數(shù),判斷這個數(shù)是否是偶數(shù)
num = int(input())
if num %2==0:
????print(num,"是偶數(shù)")
print(num滑负,“不是偶數(shù)”)
2.2 if? - else 語句【雙分支】
語法:
if 表達(dá)式
執(zhí)行語句1
else:
執(zhí)行語句2
說明:如果表達(dá)式成立在张,則執(zhí)行語句1用含;如果不成立,則執(zhí)行語句2
代碼演示:
雙分支
從控制臺輸入一個數(shù)字帮匾,根據(jù)數(shù)字打印年齡段
age = int(input())
if age >=18:
print("成年人")
else:
print(“未成年人”)
2.3 if -elif-else 語句【多分支】
語法:
if 表達(dá)式1:
執(zhí)行語句1
elif表達(dá)式2:
執(zhí)行語句2
elif表達(dá)式3:
執(zhí)行語句3
..........
else:
執(zhí)行語句n
說明:實現(xiàn)了多選一的操作啄骇,會根據(jù)不同的條件從上往下來進(jìn)行匹配,如果匹配上了瘟斜,則執(zhí)行對應(yīng)的語句缸夹,然后直接結(jié)束整個if-elif語句,但是螺句,如果所有的條件都不成立的話明未,則執(zhí)行else后面的語句
注意:不管if-elif-else有多少個分支,都只會執(zhí)行其中的一個分支
代碼演示:
#多分支
#需求:從控制臺輸入一個數(shù)字壹蔓,根據(jù)數(shù)字打印年齡段
age=int(input())
ifage<0:
print("輸入有誤")
elifage<=3:
print("嬰兒")
elifage<=6:
print("兒童")
elifage<=12:
print("青少年")
elifage<=18:
print("青年")
else:
print("hello")
#練習(xí):根據(jù)控制臺輸入的成績趟妥,輸出對應(yīng)的等級
"""
90以上:優(yōu)秀
80~90:良好
70~80:還行
70以下:加油吧,少年
"""
score=int(input("請輸入學(xué)生的成績:"))
ifscore>=90:
print("優(yōu)秀")
elifscore>=80:
print("良好")
elifscore>=70:
print("還行")
else:
print("")
?
?
#容易出現(xiàn)的問題:冒號 ? ? 中文 ? ? 空格
2.4三者之間的區(qū)別
代碼演示:
#三者之間的區(qū)別
n=3
?
#多分支:多選一
ifn>1:
print("a")
elifn>2:
print("b")
elifn>3:
print("c")
else:
print("d")
#a
?
#單分支:要么執(zhí)行佣蓉,要么不執(zhí)行
ifn>1:
print("a")
#a
ifn>2:
print("b")
#b
?
#雙分支:實現(xiàn)二選一
ifn>3:
print("c")
else:
print("d")
#d
2.5嵌套if語句
語法:
if 表達(dá)式1:
執(zhí)行語句1
if 表達(dá)式2:
執(zhí)行語句2
說明:if語句的嵌套披摄,可以在單分支,雙分支勇凭,多分支之間進(jìn)行任意組合
代碼演示:
score=int(input("請輸入學(xué)生的成績:"))
ifscore<0orscore>100:
print("輸入有誤")
else:
ifscore>=90:
print("優(yōu)秀")
elifscore>=80:
print("良好")
elifscore>=70:
print("還行")
else:
print("")
?
?
age=int(input("請輸入年齡:"))
looks=input("請輸入您的相貌:")
?
ifage>=18:
iflooks=="美女":
print("要微信")
else:
print("略過")
注意:從語法角度來說疚膊,嵌套的層數(shù)沒有任何的限制,但是虾标,為了代碼的可讀性和可維護(hù)性寓盗,嵌套層數(shù)不要超過3層