Python 運算符
python中運算符分為五大類:算術運算符拌牲、賦值運算符俱饿、比較運算符、邏輯運算符塌忽、條件運算符(三元運算符)拍埠。
算術運算符
算術運算符主要用于進行基本的算術運算,如加法土居、減法枣购、乘法、除法等装盯。
運算符 | 描述 |
---|---|
+ | 加 |
- | 減 |
* | 乘 |
/ | 除 |
// | 取整除 |
% | 取余 |
** | 指數(shù) |
運算實例
# + 注:(1+1) 是使1+1 作為一個整體,先進行運算,再進行格式化輸出
print("1+1 = %d" % (1 + 1))
# -
print("1-1 = %d" % (1 - 1))
# * 注: 計算機中的乘用 *(星號) 代替,不是 x(字母)
print("1*1 = %d" % (1 * 1))
# / 注: 計算機中的除用 /(斜杠) 代替
print("1/1 = %s" % (1 / 1)) # 使用%s 占位只是為了顯示小數(shù)位
print("10/3 = %s" % (10 / 3)) # 使用%s 占位只是為了顯示小數(shù)位
# //
print("10//4 = %s" % (10 // 4)) # 使用%s 占位只是為了顯示小數(shù)位
# **
print("2**10 = %d" % (2 ** 10))
# 運算結果
# 1+1 = 2
# 1-1 = 0
# 1*1 = 1
# 1/1 = 1.0
# 10/3 = 3.3333333333333335
# 10//4 = 2
# 2**10 = 1024
由以上結果可知
- Python中除法默認轉型成float 且默認保留一位小數(shù)
- 整除// : 是地板除, 既向下取整,
- 如果商不為整數(shù), 則 結果為 商-1 - 商之間的整數(shù)
- 比如 10/4 的商為2.5 , 不是整數(shù), 2.5 -1 到 2.5 之間的整數(shù)為2 ,所以 10 // 4 = 2 .
- 妙用: 在某些情況下可以利用整除的特性, 忽略奇偶性的判斷
賦值運算符
運算符 | 描述 | 實例 |
---|---|---|
= | 賦值運算符 | 把 = 號右邊的結果 賦給 左邊的變量坷虑, 如 num = 1 + 2 * 3,結果num的值為7 |
+= | 加法賦值運算符 | c += a 等效于 c = c + a |
-= | 減法賦值運算符 | c -= a 等效于 c = c - a |
*= | 乘法賦值運算符 | c *= a 等效于 c = c * a |
/= | 除法賦值運算符 | c /= a 等效于 c = c / a |
%= | 取模賦值運算符 | c %= a 等效于 c = c % a |
**= | 冪賦值運算符 | c **= a 等效于 c = c ** a |
//= | 取整除賦值運算符 | c //= a 等效于 c = c // a |
注:
- 如果 = 右邊是一個表達式, 會先計算右邊, 得到的結果賦值給左邊
- 例: A= 5 ,A += 3+5 , A 最終等于13.
比較運算符
運算符 | 描述 | 示例 |
---|---|---|
== | 檢查兩個操作數(shù)的值是否相等埂奈, 如果是則條件為真迄损。 |
如a=3,b=3,則(a == b) 為 True |
!= | 檢查兩個操作數(shù)的值是否相等账磺, 如果值不相等芹敌,則條件為真。 |
如a=1,b=3垮抗,則(a != b) 為 True |
> | 檢查左操作數(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 |
注:
- 如果左右兩邊有表達式, 則先計算表達式再比較, 例如: 7+7 > 5+5 , 先計算 7+7 與 5+5 ,然后用兩者的結果進行比較 14 > 10 , 結果為true
邏輯運算符
運算符 | 邏輯表達式 | 描述 | 實例 |
---|---|---|---|
and | x and y | 布爾"與": 如果 x 為 False,x and y 返回 False瞳购, 否則它返回 y 的值话侄。 |
True and False, 返回 False苛败。 |
or | x or y | 布爾"或": 如果 x 是 True满葛,它返回 True径簿, 否則它返回 y 的值。 |
False or True嘀韧, 返回 True篇亭。 |
not | not x | 布爾"非": 如果 x 為 True,返回 False 锄贷。 如果 x 為 False译蒂,它返回 True。 |
not True 返回 False, not False 返回 True |
擴展[1]
| 運算符 |邏輯表達式 |描述
|---|---|
|&| 0 & 1 |位運算符: 位與
|||0 | 1 |位運算符: 位或
||1 |取反
|^|0 ^ 1 |異或
|>>|4>>1 |右移運算符
|<<|1<<2 |左移運算符
注:
- 左移一位 <==> 乘以2, 既2*2 等價于 2<<1
- 右移一位 <==> 除以2, 既2/2 等價于 2>>1
- 左移右移效率要高于乘除
- 加的效率高于減的效率
數(shù)字的邏輯運算
a = 0
b = 1
c = 3
# and 運算谊却,只要有一個值為 0 則結果為0柔昼,否則結果為最后一個非 0 數(shù)字
a and b # 0
b and a # 0
c and b # 1
b and c # 3
# or 運算,只有所有值為 0 結果才為0炎辨,否則結果為第一個非 0 數(shù)字
a or a # 0
a or b # 1
b or a # 1
c or b # 3
b or c # 1
條件運算符(三元運算符)
格式
變量 = 值1 if 條件 else 值2
a = 10
b = 20
c = a if a>b else b
print(c) # 條件不成立捕透,把 b 的值賦給 c,也就是 c 的值為 20
數(shù)據(jù)類型轉換
程序的三種結構
程序的三種結構分別是 順序結構碴萧、選擇結構 和 循環(huán)結構乙嘀。
順序結構
如同名字一樣,程序中的代碼按照自上而下執(zhí)行的排列順序依次執(zhí)行 破喻,則稱為順序執(zhí)行虎谢,或順序結構。
選擇結構
程序按照某個條件選擇其中一個分支進行執(zhí)行曹质,稱為分支結構婴噩,或選擇結構。
if判斷語句
if 條件語句:
成立則執(zhí)行的語句
age =30
if age >= 18:
print("我已經成年了")
if-else 判斷語句
if 條件語句:
條件成立羽德,執(zhí)行的語句
else:
條件不成立几莽,執(zhí)行的語句
age =30
if age >= 18:
print("成年了")
else:
print("未成年")
if-elif 判斷語句
if 條件語句:
條件成立,執(zhí)行的語句
elif 條件語句2:
條件語句2成立玩般,執(zhí)行的語句
else:
條件都不成立银觅,執(zhí)行的語句
age =30
if age >= 30:
print("中年人")
elif age >= 18:
print("成年人")
else:
print("未成年")
if嵌套的格式
if 條件1:
滿足條件1 做的事情1
滿足條件1 做的事情2
if 條件2:
滿足條件2 做的事情1
滿足條件2 做的事情2
就像 if 語句 可以嵌套一樣礼饱,if坏为、if-else、if-elif 三者之間可以根據(jù)需求相互嵌套使用
Python中 if 特殊用法
區(qū)間比較
a = 10
1<a<20 # True
11<a<20 # False
循環(huán)語句
while 循環(huán)
while 條件:
條件滿足時镊绪,做的事情1
條件滿足時匀伏,做的事情2
條件滿足時,做的事情3
...(省略)...
需要注意 變量在循環(huán)外賦值 與 變量再循環(huán)內賦值的區(qū)別蝴韭,如下圖:
- 在循環(huán)外的變量隨著循環(huán)一直累加,
- 在循環(huán)內的變量,每當一次新的循環(huán)開始,都被重新賦值
while 循環(huán)的嵌套
有這么一個游戲够颠,有一個立柜,立柜的每一個格子放著一個套娃榄鉴。只有頂層的套娃可以操作履磨。
只有把頂層的套娃取到最小的那一個蛉抓,
下一層的套娃自動上升到頂層
如此往復,直到立柜中的所有套娃都取出為止剃诅,如圖
如上所述的游戲過程巷送,
- 列游戲開始,立柜把格子上升到頂層矛辕。(外層while 開始執(zhí)行(外循環(huán)))
- 這時頂層的套娃可以操作笑跛,把套娃一個一個取出。(內層while開始執(zhí)行(內循環(huán)))
- 當頂層的套娃完全取出(內循環(huán)結束)聊品,下一層自動上升到頂層飞蹂。(外循環(huán)繼續(xù)執(zhí)行)
- 如2一樣,這時頂層的套娃可以操作翻屈,把套娃一個一個取出(內循環(huán)繼續(xù)執(zhí)行)陈哑。
- 當所有套娃全部取出,游戲結束(當內循環(huán)結束伸眶,并且 外循環(huán)也結束芥颈,整個循環(huán)結束)
for 循環(huán)
for 臨時變量 in 列表或者字符串等可迭代對象:
循環(huán)滿足條件時執(zhí)行的代碼
Python 中的 for 循環(huán) 類似于Java 中的 foreach。
name = 'xiaoming'
for x in name:
print(x)
結果如下
x
i
a
o
m
i
n
g
break和continue
break 打斷循環(huán)赚抡,如果在多層嵌套循環(huán)當中爬坑,打斷本層循環(huán),不影響其他循環(huán)的執(zhí)行涂臣。
name = 'xiao'
for x in name:
if x == "a"
break
print(x)
結果如下:
x
i
continue 打斷本次循環(huán)盾计,跳轉到條件判斷的地方繼續(xù)執(zhí)行
name = 'xiao'
for x in name:
if x == "a"
continue
print(x)
結果如下:
x
i
o
到此結 DragonFangQy 2018.4.2