變量及類型
類型:
Numbers(數(shù)字):
- int(有符號(hào)整型)
- long(長(zhǎng)整型)
- float(浮點(diǎn)型)
- complex(復(fù)數(shù))
Boolean(布爾):
- Ture
- False
String(字符串):
List(列表):
Tuple(元組):
Dictionary(字典):
Set(集合):
變量:
在Python中,存儲(chǔ)一個(gè)數(shù)據(jù),需要一個(gè)叫做'變量'的東西
示例:(# 后面的為注釋)
num1 = 100 #num1就是一個(gè)變量,就好一個(gè)小菜籃子
num2 = 87 #num2也是一個(gè)變量
result = num1 + num2 #把num1和num2這兩個(gè)"菜籃子"中的數(shù)據(jù)進(jìn)行累加,然后放到 result變量中
標(biāo)示符和關(guān)鍵字
標(biāo)示符
開發(fā)人員在程序中自定義的一些符號(hào)和名稱
標(biāo)示符是自己定義的,如變量名 、函數(shù)名等
-
標(biāo)示符的規(guī)則
標(biāo)示符由字母、下劃線和數(shù)字組成,且數(shù)字不能開頭
python中的標(biāo)識(shí)符是區(qū)分大小寫的
例:
fromNo12
my_Boolean
Obj2
_test
-
命名規(guī)則
大駝峰 ===================> UserName
小駝峰 ===================> userName
下劃線 ===================> user_name
關(guān)鍵字
python一些具有特殊功能的標(biāo)示符,這就是所謂的關(guān)鍵字
關(guān)鍵字,是python已經(jīng)使用的了,所以不允許開發(fā)者自己定義和關(guān)鍵字相同的名字的標(biāo)示符
# 查看關(guān)鍵字
import keyword
keyword.kwlist
輸出:print()
# 輸出一個(gè)字符串
print('德瑪西亞萬(wàn)歲')
-
格式化字符串
# 定義一個(gè)age為10的變量
age = 10
print('我今年%d歲了'%age)
# 我今年10歲了
-
常用的格式符號(hào)
| 格式符號(hào) | 轉(zhuǎn)換 |
|---|---|
| %d | 有符號(hào)十進(jìn)制整數(shù) |
| %s | 通過(guò)str() 字符串轉(zhuǎn)換來(lái)格式化 |
| %f | 浮點(diǎn)實(shí)數(shù) |
-
換行輸出
print("1234567890-------") # 會(huì)在一行顯示
輸出# 1234567890-------
print("1234567890\n-------") # 一行顯示1234567890,另外一行顯示-------
輸出# 1234567890
-------
輸入:input()
password = input("請(qǐng)輸入密碼:")
print('您剛剛輸入的密碼是:', password)
運(yùn)算符
算數(shù)運(yùn)算符
| 運(yùn)算符 | 描述 | 實(shí)例 |
|---|---|---|
| + | 加 | 兩個(gè)對(duì)象相加 a + b 輸出結(jié)果 30 |
| - | 減 | 得到負(fù)數(shù)或是一個(gè)數(shù)減去另一個(gè)數(shù) a - b 輸出結(jié)果 -10 |
| * | 乘 | 兩個(gè)數(shù)相乘或是返回一個(gè)被重復(fù)若干次的字符串 a * b 輸出結(jié)果 200 |
| / | 除 | x除以y b / a 輸出結(jié)果 2 |
| // | 取整除 | 返回商的整數(shù)部分 9//2 輸出結(jié)果 4 , 9.0//2.0 輸出結(jié)果 4.0 |
| % | 取余 | 返回除法的余數(shù) b % a 輸出結(jié)果 0 |
| ** | 冪 | 返回x的y次冪 a**b 為10的20次方, 輸出結(jié)果 100000000000000000000 |
賦值運(yùn)算符
| 運(yùn)算符 | 描述 | 實(shí)例 |
|---|---|---|
| = | 賦值運(yùn)算符 | 把=號(hào)右邊的結(jié)果給左邊的變量 num=1+2*3 結(jié)果num的值為7 |
復(fù)合賦值運(yùn)算符
| 運(yùn)算符 | 描述 | 實(shí)例 |
|---|---|---|
| += | 加法賦值運(yùn)算符 | c += a 等效于 c = c + a |
| -= | 減法賦值運(yùn)算符 | c -= a 等效于 c = c - a |
| *= | 乘法賦值運(yùn)算符 | c *= a 等效于 c = c * a |
| /= | 除法賦值運(yùn)算符 | c /= a 等效于 c = c / a |
| %= | 取模賦值運(yùn)算符 | c %= a 等效于 c = c % a |
| **= | 冪賦值運(yùn)算符 | c = a 等效于 c = c a |
| //= | 取整除賦值運(yùn)算符 | c //= a 等效于 c = c // a |
比較(即關(guān)系)運(yùn)算符
| 運(yùn)算符 | 描述 | 示例 |
|---|---|---|
| == | 檢查兩個(gè)操作數(shù)的值是否相等,如果是則條件變?yōu)檎妗?/td> | 如a=3,b=3則(a == b) 為 true. |
| != | 檢查兩個(gè)操作數(shù)的值是否相等,如果值不相等,則條件變?yōu)檎妗?/td> | 如a=1,b=3則(a != b) 為 true. |
| <> | 檢查兩個(gè)操作數(shù)的值是否相等,如果值不相等,則條件變?yōu)檎妗?/td> | 如a=1,b=3則(a <> b) 為 true。這個(gè)類似于 != 運(yùn)算符 |
| > | 檢查左操作數(shù)的值是否大于右操作數(shù)的值,如果是,則條件成立。 | 如a=7,b=3則(a > b) 為 true. |
| < | 檢查左操作數(shù)的值是否小于右操作數(shù)的值,如果是,則條件成立。 | 如a=7,b=3則(a < b) 為 false. |
| >= | 檢查左操作數(shù)的值是否大于或等于右操作數(shù)的值,如果是,則條件成立。 | 如a=3,b=3則(a >= b) 為 true. |
| <= | 檢查左操作數(shù)的值是否小于或等于右操作數(shù)的值,如果是,則條件成立。 | 如a=3,b=3則(a <= b) 為 true. |
邏輯運(yùn)算符
| 運(yùn)算符 | 邏輯表達(dá)式 | 描述 | 實(shí)例 |
|---|---|---|---|
| and | x and y | 布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計(jì)算值。 | (a and b) 返回 20。 |
| or | x or y | 布爾"或" - 如果 x 是 True,它返回 True,否則它返回 y 的計(jì)算值。 | (a or b) 返回 10。 |
| not | not x | 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 | not(a and b) 返回 False |
數(shù)據(jù)類型轉(zhuǎn)換
| 函數(shù) | 說(shuō)明 |
|---|---|
| int(x [,base ]) | 將x轉(zhuǎn)換為一個(gè)整數(shù) |
| float(x ) | 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù) |
| str(x ) | 將對(duì)象 x 轉(zhuǎn)換為字符串 |
| eval(str ) | 用來(lái)計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象 |
| tuple(s ) | 將序列 s 轉(zhuǎn)換為一個(gè)元組 |
| list(s ) | 將序列 s 轉(zhuǎn)換為一個(gè)列表 |
| chr(x ) | 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符 |
| unichr(x ) | 將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符 |
| ord(x ) | 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值 |
判斷語(yǔ)句
if判斷語(yǔ)句
if 要判斷的條件:
條件成立時(shí),要做的事情
例1:
age = 30
print("------if判斷開始------")
if age>=18:
print("我已經(jīng)成年了")
print("------if判斷結(jié)束------")
- 運(yùn)行結(jié)果:
------if判斷開始------
我已經(jīng)成年了
------if判斷結(jié)束------
例2:
age = 16
print "------if判斷開始------"
if age>=18:
print "我已經(jīng)成年了"
print "------if判斷結(jié)束------"
- 運(yùn)行結(jié)果:
------if判斷開始------
------if判斷結(jié)束------
- 以上2個(gè)例子僅僅是age變量的值不一樣,結(jié)果卻不同;能夠看得出if判斷語(yǔ)句的作用:就是當(dāng)滿足一定條件時(shí)才會(huì)執(zhí)行那塊代碼,否則就不執(zhí)行那塊代碼
- 代碼的縮進(jìn)為一個(gè)tab鍵,或者4個(gè)空格
if-else的使用格式
if 條件:
滿足條件時(shí)要做的事情1
滿足條件時(shí)要做的事情2
滿足條件時(shí)要做的事情3
...(省略)...
else:
不滿足條件時(shí)要做的事情1
不滿足條件時(shí)要做的事情2
不滿足條件時(shí)要做的事情3
...(省略)...
例3:
chePiao = 1 # 用1代表有車票,0代表沒有車票
if chePiao == 1:
print("有車票,可以上火車")
else:
print("沒有車票,不能上車")
結(jié)果1:有車票的情況
有車票,可以上火車
終于可以見到Ta了,美滋滋~~~
結(jié)果2:沒有車票的情況
沒有車票,不能上課
親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~
elif
elif的使用格式如下:
if xxx1:
事情1
elif xxx2:
事情2
elif xxx3:
事情3
說(shuō)明:
- 當(dāng)xxx1滿足時(shí),執(zhí)行事情1,然后整個(gè)if結(jié)束
- 當(dāng)xxx1不滿足時(shí),那么判斷xxx2,如果xxx2滿足,則執(zhí)行事情2,然后整個(gè)if結(jié)束
- 當(dāng)xxx1不滿足時(shí),xxx2也不滿足,如果xxx3滿足,則執(zhí)行事情3,然后整個(gè)if結(jié)束
例4:
score = 77
if score>=90 and score<=100:
print('本次考試,等級(jí)為A')
elif score>=80 and score<90:
print('本次考試,等級(jí)為B')
elif score>=70 and score<80:
print('本次考試,等級(jí)為C')
elif score>=60 and score<70:
print('本次考試,等級(jí)為D')
elif score>=0 and score<60:
print('本次考試,等級(jí)為E')
運(yùn)行結(jié)果
本次考試,等級(jí)為C
注意:elif必須和if一起使用,否則出錯(cuò)
可以和else一起使用:
if 性別為男性:
輸出男性的特征
...
elif 性別為女性:
輸出女性的特征
...
else:
第三種性別的特征
...
if嵌套
if嵌套的格式
if 條件1:
滿足條件1 做的事情1
滿足條件1 做的事情2
...(省略)...
if 條件2:
滿足條件2 做的事情1
滿足條件2 做的事情2
...(省略)...
- 說(shuō)明
- 外層的if判斷,也可以是if-else
- 內(nèi)層的if判斷,也可以是if-else
- 根據(jù)實(shí)際開發(fā)的情況,進(jìn)行選擇
if嵌套的應(yīng)用
例5:
chePiao = 1 # 用1代表有車票,0代表沒有車票
daoLenght = 9 # 刀子的長(zhǎng)度,單位為cm
if chePiao == 1:
print("有車票,可以進(jìn)站")
if daoLenght < 10:
print("通過(guò)安檢")
print("終于可以見到Ta了,美滋滋~~~")
else:
print("沒有通過(guò)安檢")
print("刀子的長(zhǎng)度超過(guò)規(guī)定,等待警察處理...")
else:
print("沒有車票,不能進(jìn)站")
print("親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~")
結(jié)果1:chePiao = 1;daoLenght = 9
有車票,可以進(jìn)站
通過(guò)安檢
終于可以見到Ta了,美滋滋~~~
結(jié)果2:chePiao = 1;daoLenght = 20
有車票,可以進(jìn)站
沒有通過(guò)安檢
刀子的長(zhǎng)度超過(guò)規(guī)定,等待警察處理...
結(jié)果3:chePiao = 0;daoLenght = 9
沒有車票,不能進(jìn)站
親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~
結(jié)果4:chePiao = 0;daoLenght = 20
沒有車票,不能進(jìn)站
親愛的,那就下次見了,一票難求啊~~~~(>_<)~~~~
循環(huán)語(yǔ)句
while循環(huán)
輸出一萬(wàn)遍我錯(cuò)了
print("我錯(cuò)了")
print("我錯(cuò)了")
print("我錯(cuò)了")
...(還有9997遍)...
使用循環(huán)語(yǔ)句一句話搞定
i = 0
while i<10000:
print("媳婦兒,我錯(cuò)了")
i+=1
while循環(huán)的格式
while 條件:
條件滿足時(shí),做的事情1
條件滿足時(shí),做的事情2
條件滿足時(shí),做的事情3
...(省略)...
例子1:
i = 0
while i<5:
print("當(dāng)前是第%d次執(zhí)行循環(huán)"%(i+1))
print("i=%d"%i)
i+=1
結(jié)果:
當(dāng)前是第1次執(zhí)行循環(huán)
i=0
當(dāng)前是第2次執(zhí)行循環(huán)
i=1
當(dāng)前是第3次執(zhí)行循環(huán)
i=2
當(dāng)前是第4次執(zhí)行循環(huán)
i=3
當(dāng)前是第5次執(zhí)行循環(huán)
i=4
while循環(huán)應(yīng)用
- 計(jì)算1~100的累積和(包含1和100)
i = 1
sum = 0
while i<=100:
sum = sum + i
i += 1
print("1~100的累積和為:%d"%sum)
- 計(jì)算1~100之間偶數(shù)的累積和(包含1和100)
i = 1
sum = 0
while i<=100:
if i%2 == 0:
sum = sum + i
i+=1
print("1~100的累積和為:%d"%sum)
while嵌套的格式
while 條件1:
條件1滿足時(shí),做的事情1
條件1滿足時(shí),做的事情2
條件1滿足時(shí),做的事情3
...(省略)...
while 條件2:
條件2滿足時(shí),做的事情1
條件2滿足時(shí),做的事情2
條件2滿足時(shí),做的事情3
...(省略)...
while嵌套應(yīng)用一
要求:打印如下圖形:
*
* *
* * *
* * * *
* * * * *
參考代碼:
i = 1
while i<=5:
j = 1
while j<=i:
print("* ",end='')
j+=1
print("\n")
i+=1
while嵌套應(yīng)用二:九九乘法表
i = 1
while i<=9:
j=1
while j<=i:
print("%d*%d=%-2d "%(j,i,i*j),end='')
j+=1
print('\n')
i+=1
for循環(huán)
像while循環(huán)一樣,for可以完成循環(huán)的功能。
在Python中 for循環(huán)可以遍歷任何序列的項(xiàng)目,如一個(gè)列表或者一個(gè)字符串等。
for循環(huán)的格式
for 臨時(shí)變量 in 列表或者字符串等:
循環(huán)滿足條件時(shí)執(zhí)行的代碼
else:
循環(huán)不滿足條件時(shí)執(zhí)行的代碼
例1:
name = 'daGe'
for x in name:
print(x)
運(yùn)行結(jié)果如下:
d
a
G
e
例2:
name = ''
for x in name:
print(x)
else:
print("沒有數(shù)據(jù)")
運(yùn)行結(jié)果
沒有數(shù)據(jù)
break和continue
break
-
for循環(huán)
-
普通的循環(huán)示例如下:
name = 'daGe' for x in name: print('----') print(x)
運(yùn)行結(jié)果:
----
d
----
a
----
G
----
e
帶有break的循環(huán)示例如下:
name = 'daGe'
for x in name:
print('----')
if x == 'G':
break
print(x)
運(yùn)行結(jié)果:
----
d
----
a
----
-
while循環(huán)
-
普通的循環(huán)示例如下:
i = 0 while i<5: i = i+1 print('----') print(i)運(yùn)行結(jié)果:
----
1
----
2
----
3
----
4
----
5
帶有break的循環(huán)示例如下:
i = 0
while i<5:
i = i+1
print('----')
if i==5:
break
print(i)
運(yùn)行結(jié)果:
----
1
----
2
----
3
----
4
----
小總結(jié):
- break的作用:用來(lái)結(jié)束整個(gè)循環(huán)
continue
-
for循環(huán)
帶有continue的循環(huán)示例如下:
name = 'daGe'
for x in name:
print('----')
if x == 'g':
continue
print(x)
運(yùn)行結(jié)果:
----
d
----
a
----
G
----
e
-
while循環(huán)
帶有continue的循環(huán)示例如下:
i = 0
while i<10:
i = i+1
print('----')
if i==5:
continue
print(i)
運(yùn)行結(jié)果:
----
1
----
2
----
3
----
4
----
----
6
----
7
----
8
----
9
----
10
小總結(jié):
- continue的作用:用來(lái)結(jié)束本次循環(huán),緊接著執(zhí)行下一次的循環(huán)
總結(jié)注意點(diǎn)
- break/continue只能用在循環(huán)中,除此以外不能單獨(dú)使用
- break/continue在嵌套循環(huán)中,只對(duì)最近的一層循環(huán)起作用
if往往用來(lái)對(duì)條件是否滿足進(jìn)行判斷
-
if有4中基本的使用方法:
-
基本方法
if 條件: 滿足時(shí)做的事情 -
滿足與否執(zhí)行不同的事情
if 條件: 滿足時(shí)做的事情 else: 不滿足時(shí)做的事情 -
多個(gè)條件的判斷
if 條件: 滿足時(shí)做的事情 elif 條件2: 滿足條件2時(shí)做的事情 elif 條件3: 滿足條件3時(shí)做的事情 else: 條件都不滿足時(shí)做的事情 -
嵌套
if 條件: 滿足時(shí)做的事情 這里還可以放入其他任何形式的if判斷語(yǔ)句
-
-
while循環(huán)一般通過(guò)數(shù)值是否滿足來(lái)確定循環(huán)的條件
i = 0 while i<10: print("hello") i+=1 -
for循環(huán)一般是對(duì)能保存多個(gè)數(shù)據(jù)的變量,進(jìn)行便利
name = 'dongGe' for x in name: print(x) if、while、for等其他語(yǔ)句可以隨意組合,這樣往往就完成了復(fù)雜的功能