<meta charset="utf-8">
一、Python變量和數(shù)據(jù)類型
1. 變量的定義
在程序中,有時(shí)我們需要對2個(gè)數(shù)據(jù)進(jìn)行求和,那么該怎樣做呢?
大家類比一下現(xiàn)實(shí)生活中,比如去超市買東西,往往咱們需要一個(gè)菜籃子,用來進(jìn)行存儲物品,等到所有的物品都購買完成后,在收銀臺進(jìn)行結(jié)賬即可
如果在程序中,需要把2個(gè)數(shù)據(jù),或者多個(gè)數(shù)據(jù)進(jìn)行求和的話,那么就需要把這些數(shù)據(jù)先存儲起來,然后把它們累加起來即可
在Python中,存儲一個(gè)數(shù)據(jù),需要一個(gè)叫做變量的東西,如下示例:
num1 = 100 #num1就是一個(gè)變量,就好一個(gè)小菜籃子
num2 = 87 #num2也是一個(gè)變量
result = num1 + num2 #把num1和num2這兩個(gè)"菜籃子"中的數(shù)據(jù)進(jìn)行累加,然后放到 result變量中
說明:
- 所謂變量,可以理解為菜籃子,如果需要存儲多個(gè)數(shù)據(jù),最簡單的方式是有多個(gè)變量,當(dāng)然了也可以使用一個(gè)
- 程序就是用來處理數(shù)據(jù)的,而變量就是用來存儲數(shù)據(jù)的
程序中:
為了更充分的利用內(nèi)存空間以及更有效率的管理內(nèi)存,變量是有不同的類型的,如下所示:
Python3 中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:

Python3 的六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型中:
- 不可變數(shù)據(jù)(3 個(gè)):Number(數(shù)字)、String(字符串)、Tuple(元組);
- 可變數(shù)據(jù)(3 個(gè)):List(列表)、Dictionary(字典)、Set(集合)。
注意:在python中,只要定義了一個(gè)變量,而且它有數(shù)據(jù),那么它的類型就已經(jīng)確定了,不需要咱們開發(fā)者主動(dòng)的去說明它的類型,系統(tǒng)會(huì)自動(dòng)辨別
可以使用type(變量的名字),來查看變量的類型
6.1 概念
- 整數(shù)
Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序中,整數(shù)的表示方法和數(shù)學(xué)上的寫法一模一樣,例如:1,100,-8080,0,等等。 - 浮點(diǎn)數(shù)
浮點(diǎn)數(shù)也就是小數(shù),之所以稱為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)記數(shù)法表示時(shí),一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的,比如,1.23x109和12.3x108是相等的。浮點(diǎn)數(shù)可以用數(shù)學(xué)寫法,如1.23,3.14,-9.01,等等。
整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲的方式是不同的,整數(shù)運(yùn)算永遠(yuǎn)是精確的(除法難道也是精確的?是的?。↑c(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差。 - 字符串
字符串是以''或""括起來的任意文本,比如'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個(gè)字符。 - 布爾值
布爾值和布爾代數(shù)的表示完全一致,一個(gè)布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運(yùn)算計(jì)算出來。
布爾值可以用and、or和not運(yùn)算。
and運(yùn)算是與運(yùn)算,只有所有都為 True,and運(yùn)算結(jié)果才是 True。A與B true true
or運(yùn)算是或運(yùn)算,只要其中有一個(gè)為 True,or 運(yùn)算結(jié)果就是 True。
not運(yùn)算是非運(yùn)算,它是一個(gè)單目運(yùn)算符,把 True 變成 False,F(xiàn)alse 變成 True。 - 空值
空值是Python里一個(gè)特殊的值,用None表示。None不能理解為0,因?yàn)?是有意義的,而None是一個(gè)特殊的空值。
6.2 代碼示例
#整數(shù)
a=1;
#浮點(diǎn)數(shù)
b=1.1;
#字符串
c="abc";
#boolean類型
d=True;
#空值
e=None;
print(a);print(b);print(c);print(d);print(e)
a=True and True # ==> True
b=True and False # ==> False
c=False and True # ==> False
d=False and False # ==> False
e=True or True # ==> True
f=True or False # ==> True
g=False or True # ==> True
h=False or False # ==> False
i=not True # ==> False
j=not False # ==> True
print(a,b,c,d,e,f,g,h,i,j)
說明:
- 在計(jì)算 a and b 時(shí),如果 a 是 False,則根據(jù)與運(yùn)算法則,整個(gè)結(jié)果必定為 False,因此返回 a;如果 a 是 True,則整個(gè)計(jì)算結(jié)果必定取決與 b,因此返回 b。
- 在計(jì)算 a or b 時(shí),如果 a 是 True,則根據(jù)或運(yùn)算法則,整個(gè)計(jì)算結(jié)果必定為 True,因此返回 a;如果 a 是 False,則整個(gè)計(jì)算結(jié)果必定取決于 b,因此返回 b。
所以Python解釋器在做布爾運(yùn)算時(shí),只要能提前確定計(jì)算結(jié)果,它就不會(huì)往后算了,直接返回結(jié)果。
6.3 標(biāo)識符
- 什么是標(biāo)識符?
開發(fā)人員在程序中自定義的一些符號和名稱
標(biāo)識符是自己定義的,如變量名 、函數(shù)名等 - 標(biāo)識符的命名規(guī)則
. 標(biāo)識符只能由字母、下劃線“_”、數(shù)字組成。
. 標(biāo)識符不能以數(shù)字開頭。
. 標(biāo)識符不能使用關(guān)鍵字
. 標(biāo)識符對大小寫敏感。
(建議:標(biāo)識符命名應(yīng)“見名知意”)
- python中的關(guān)鍵字
'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
- 注釋:
- 單行注釋:
/* */
//定義一個(gè)變量
name="jack"
- 多行注釋:
'''
定義一個(gè)變量
'''
name="jack"
- 課堂思考:下列哪些標(biāo)識符符合規(guī)則
if name and my_list my_list1 from#1 age 2list as True wetyui
height my_log qwe&qwe
- 標(biāo)識符的命名方法
- 小駝峰式命名法:
函數(shù)名、變量名 addName
- 大駝峰式命名法:
類名 AddName
2. Python中print語句
print() 方法用于打印輸出,最常見的一個(gè)函數(shù)。
語法:
print(*objects, sep=' ', end='\n', file=sys.stdout)
參數(shù):
objects -- 復(fù)數(shù),表示可以一次輸出多個(gè)對象。輸出多個(gè)對象時(shí),需要用 , 分隔。
sep -- 用來間隔多個(gè)對象,默認(rèn)值是一個(gè)空格。
end -- 用來設(shè)定以什么結(jié)尾。默認(rèn)值是換行符 \n,我們可以換成其他字符串。
file -- 要寫入的文件對象。
#直接打印
print("哈哈哈哈")
#多條打印
print("哈哈哈哈","呵呵呵呵","吼吼吼吼"),
#打印+計(jì)算
print("100+200的和是:",100+200);
#設(shè)置間隔符號
print("www","runoob","com",sep=".") # 設(shè)置間隔符 www.runoob.com
格式化輸出
方式一:使用百分號(%)字符串格式化
print("my name is %s, and my age is %d" %(name,age))
方式二:使用format字符串格式化
位置參數(shù)
print("my name is {}, and my age is {}".format(age,name))
關(guān)鍵字參數(shù)
print("my name is {name}, and my age is {age}".format(age=18,name="jack"))
注釋:位置參數(shù)("{0}".format()),關(guān)鍵字參數(shù)("{關(guān)鍵字}".format())
3. 設(shè)置換行符號
print(a,b,c,d,e,sep=";",end="\n");
4. Python中input語句
input() 用來獲取控制臺的輸入。
語法:
input([prompt])

二、運(yùn)算符
1. 算術(shù)運(yùn)算符:
以下假設(shè)變量a為10,變量b為21

案例:計(jì)算a=10,b=21的算術(shù)運(yùn)算符使用
a = 10
b = 21
print(a + b)
2. 邏輯運(yùn)算符
Python語言支持邏輯運(yùn)算符,以下假設(shè)變量 a 為 10, b為 20:

案例:
a = 1
print(a = 1 and a = 2)
3. 比較運(yùn)算符
以下假設(shè)變量a為10,變量b為20

案例
a = 1
if a >= 1:
print("good")
else:
print("fail")
4. 賦值運(yùn)算符:
以下假設(shè)變量a為10,變量b為20:

一、判斷語句
在程序中如果某些條件滿足,才能做某件事情,而不滿足時(shí)不允許做,這就是所謂的判斷
1.1 if語句的使用格式
if 要判斷的條件:
條件成立時(shí),要做的事情
案例:判斷年紀(jì),如果age大于18,輸入成年
age = 18
if age>18:
print("你已成年")
注意:代碼的縮進(jìn)為一個(gè)tab鍵,或者4個(gè)空格
1.2 if-else的使用格式
if 要判斷的條件:
條件成立時(shí),要做的事情
else:
條件不成立時(shí),要做的事情
案例:判斷年紀(jì),如果age大于18,輸入成年,否則未成年
age = 18
if age>18:
print("你已成年")
else:
print("你是未成年人")
1.3 if-elif-else的使用格式
if 要判斷的條件:
條件成立時(shí),要做的事情
elif 要判斷的條件:
條件成立時(shí),要做的事情
else:
條件不成立時(shí),要做的事情
案例:80<score<=100,等級A;60<score<=80,等級B;剩余,等級C
score = 72
if score >80 and score <=100:
print("A")
elif score >60 and score <= 80:
print("B")
else:
print("C")
1.4 if嵌套
if 要判斷的條件:
條件成立時(shí),要做的事情
if 要判斷的條件:
條件成立時(shí),要做的事情
else:
條件不成立時(shí),要做的事情
else:
條件不成立時(shí),要做的事情
案例:公交卡上余額大于2,可以上車,否則輸出請充值,上車如果座位數(shù)大于0能入座,否則請站穩(wěn)扶好
monery = input("請輸入金額:")
if int(monery)>2 :
print("請上車")
seat = input("請輸入剩余座位:")
if int(seat) > 0:
print("請入座")
else:
print("請站穩(wěn)扶好")
else:
print("請充值")
二:循環(huán)語句
需要多次重復(fù)執(zhí)行的代碼,都可以用循環(huán)的方式來完
循環(huán)不是必須要使用的,但是為了提高代碼的重復(fù)使用率
2.1 while循環(huán)
2.1.1 while循環(huán)的格式
while 條件:
條件成立時(shí),要做的事情
條件成立時(shí),要做的事情
.....
案例:循環(huán)打印1~100的數(shù)據(jù)和
i=1
sum=0
while i<=100:
sum+=i
i=i+1
print(sum)
練習(xí):計(jì)算1--100之間的偶數(shù)和(包含1和100)
i=1
sum=0
while i<=100:
if i % 2 == 0 :
sum +=i
i+=1
print("1~100之間的所有的偶數(shù)和:%d" %sum)
2.1.2 while循環(huán)嵌套
while 條件:
條件成立時(shí),要做的事情
條件成立時(shí),要做的事情
.....
while 條件:
條件成立時(shí),要做的事情
條件成立時(shí),要做的事情
.....
練習(xí)
用嵌套打印五邊三角形
**
i =1
while i<=5:
j=1
while j<=i:
print("*",end="")
j+=1
print("\n")
i+=1
練習(xí)打印如下圖形
**
打印九九乘法口訣
11=1
21=2 22=4
31=3 32=6 33=9
41=4 42=8 43=12 44=16
51=5 52=10 53=15 54=20 55=25
61=6 62=12 63=18 64=24 65=30 66=36
71=7 72=14 73=21 74=28 75=35 76=42 77=49
81=8 82=16 83=24 84=32 85=40 86=48 87=56 88=64
91=9 92=18 93=27 94=36 95=45 96=54 97=63 98=72 9*9=81
代碼
i=1
while i<=9:
j=1
while j <=i :
print("%d*%d=%d"%(i,j,i*j), end=" ")
j+=1
print("\n")
i+=1
2.2 for循環(huán)
2.2.1 for循環(huán)的格式
for 臨時(shí)變量 in 列表或者字符串等可迭代對象:
循環(huán)滿足條件時(shí)執(zhí)行的代碼
練習(xí)
字符串循環(huán)打印
name="jack"
for i in name:
print(i)
打印0到9的數(shù)據(jù)
for i in range(10):
print(i)
break/continue/return
continue的作用:當(dāng)滿足條件時(shí),用來結(jié)束本次循環(huán),緊接著執(zhí)行下一次的循環(huán)
break的作用:滿足條件時(shí),立刻結(jié)束break所在的循環(huán)
案例:while循環(huán)1到9,當(dāng)數(shù)字是3,跳出本次循環(huán),執(zhí)行其他循環(huán)
i=0
while i<=9:
i+=1
if i ==3:
continue
print(i)
案例:while循環(huán)1到9,當(dāng)數(shù)字是3,停止循環(huán)
i=0
while i<=9:
i+=1
if i ==3:
break
print(i)
注意點(diǎn):
break/continue只能用在循環(huán)中,除此以外不能單獨(dú)使用
break/continue在嵌套循環(huán)中,只對最近的一層循環(huán)起作用
- pass的使用
pass作用
1. Python pass是空語句,是為了保持程序結(jié)構(gòu)的完整性。
2. pass 不做任何事情,一般用做占位語句。
for i in range(10):
pass