一、運算符
1.1 算數運算符
- 算數運算符是運算符的一種
- 是完成基本的算術運算使用的符號,用來處理四則運算
a = 10 ,b = 20
?
運算符 | 描述 | 示例 |
+ | 加 - 兩個對象相加 | a + b 輸出結果 30 |
- | 減 - 得到負數或是一個數減去另一個數 | a - b 輸出結果 -10 |
* | 乘 - 兩個數相乘或是返回一個被重復若干次的字符串 | a * b 輸出結果 200 |
/ | 除 - x除以y | b / a 輸出結果 2 |
% | 取模 - 返回除法的余數 | b % a 輸出結果 0 |
** | 冪 - 返回x的y次冪 | a**b 為10的10次方, 輸出結果?10000000000 |
// | 取整除 - 返回商的整數部分 | 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0 |
?
1.2 比較運算符
a = 20 ,b = 10
?
運算符 | 描述 |
== | 等于 - 比較對象是否相等 |
!= | 不等于 - 比較兩個對象是否不相等 |
> | 大于 - 返回x是否大于y |
< | 小于 - 返回x是否小于y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。 |
>= | 大于等于 - 返回x是否大于等于y |
<= | 小于等于 - 返回x是否小于等于y |
?
1.3 賦值運算符
?
運算符 | 描述 | 示例 |
=
|
簡單的賦值運算符
|
c = a + b 將 a + b 的運算結果賦值為 c
|
+=
|
加法賦值運算符
|
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
|
?
1.4 位運算符
a = 60, b = 13
?
運算符 | 描述 | 示例 |
&
|
按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0
|
(a & b) 輸出結果 12 ,二進制解釋: 0000 1100
|
|
|
按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。
|
(a | b) 輸出結果 61 ,二進制解釋: 0011 1101
|
^
|
按位異或運算符:當兩對應的二進位相異時,結果為1
|
(a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001
|
~
|
按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1
|
(~a ) 輸出結果 -61 ,二進制解釋: 1100 0011, 在一個有符號二進制數的補碼形式。
|
<<??
|
左移動運算符:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。左移一位相當于乘以2
|
a << 2 輸出結果 240 ,二進制解釋: 1111 0000
|
>>
|
右移動運算符:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數。右移一位相當于除以2
|
a >> 2 輸出結果 15 ,二進制解釋: 0000 1111
|
?
1.5 邏輯運算符
a = 10, b = 20
?
運算符
|
邏輯表達式
|
描述
|
示例
|
and
|
x and y
|
布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。
|
(a and b) 返回 20。
|
or
|
x or y
|
布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。
|
(a or b) 返回 10。
|
not
|
not x
|
布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。
|
not(a and b) 返回 False
|
?
?如果是邏輯中的數值運算時,需要注意:
- x or y時,如果x為非0,則值為x,否則為y
- x and y時,運算結果與or相反
?
1.6 成員運算符
運算符 | 描述 | 示例 |
in
|
如果在指定的序列中找到值返回 True,否則返回 False。
|
x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
|
not in
|
如果在指定的序列中沒有找到值返回 True,否則返回 False。
|
x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
|
?
1.7 身份運算符
運算符
|
描述
|
示例 |
is
|
is是判斷兩個標識符是不是引用自一個對象
|
x is y, 如果 id(x) 等于 id(y) ,?is?返回結果 True
|
is not
|
is not是判斷兩個標識符是不是引用自不同對象
|
x is not y, 如果 id(x) 不等于 id(y).?is not?返回結果 False
|
?
?ps:身份運算符用于比較兩個對象的存儲單元
is 和 == 的區別
- ==?判斷兩邊的值是否相等
- is?判斷內存地址是否相等
?
1.8 運算符的優先級
?
運算符
|
描述
|
**
|
指數?
(
最高優先級
)
|
~ + -
|
按位翻轉
,?
一元加號和減號?
(
最后兩個的方法名為?
+@?
和?
-@)
|
* / % //
|
乘,除,取模和取整除
|
+ -
|
加法減法
|
>> <<
|
右移,左移運算符
|
&
|
位?
'AND'
|
^ |
|
位運算符
|
<= < > >=
|
比較運算符
|
<> == !=
|
等于運算符
|
= %= /= //= -= += *= **=
|
賦值運算符
|
is is not
|
身份運算符
|
in not in
|
成員運算符
|
not or and
|
邏輯運算符
|
二、流程控制
2.1 條件語句
條件語句在開發中主要用于進行 邏輯判斷

# 格式1 if 條件: 代碼塊 # 格式2 if 條件: 代碼塊 else : 代碼塊 # 格式3 if 條件: 代碼塊 elif 條件: 代碼塊 ... else : 代碼塊
運行流程圖:

# !/usr/bin/env python # -*-coding:utf-8-*- """ @author:fyh @time:2019/5/31 """ """ 需求 1.輸入用戶年齡 2.判斷是否滿 18 歲 (>=) 3.如果滿 18 歲,允許進網吧嗨皮 4.如果未滿 18 歲,提示回家寫作業 """ # 1. 輸入用戶年齡 age = int(input( " 請輸入年齡: " )) # 2. 判斷是否滿 18 歲 if age >= 18 : print ( " 可以進網吧嗨皮…… " ) else : print ( " 你還沒長大,應該回家寫作業! " )

# !/usr/bin/env python # -*-coding:utf-8-*- """ @author:fyh @time:2019/5/31 """ """ 需求 1.定義布爾型變量 has_ticket 表示是否有車票 2.定義整型變量 knife_length 表示刀的長度,單位:厘米 3.首先檢查是否有車票,如果有,才允許進行 安檢 4.安檢時,需要檢查刀的長度,判斷是否超過 20 厘米 4.1如果超過 20 厘米,提示刀的長度,不允許上車 4.2如果不超過 20 厘米,安檢通過 5.如果沒有車票,不允許進門 """ # 定義布爾型變量 has_ticket 表示是否有車票 has_ticket = True # 定義整數型變量 knife_length 表示刀的長度,單位:厘米 knife_length = 20 # 首先檢查是否有車票,如果有,才允許進行 安檢 if has_ticket: print ( " 有車票,可以開始安檢... " ) # 安檢時,需要檢查刀的長度,判斷是否超過 20 厘米 # 如果超過 20 厘米,提示刀的長度,不允許上車 if knife_length >= 20 : print ( " 不允許攜帶 %d 厘米長的刀上車 " % knife_length) # 如果不超過 20 厘米,安檢通過 else : print ( " 安檢通過,祝您旅途愉快…… " ) # 如果沒有車票,不允許進門 else : print ( " 大哥,您要先買票啊 " )
2.2 循環語句
循環的作用:
- 循環的作用就是讓 指定的代碼 重復的執行
?2.2.1 while循環

# 格式1 while 條件: 循環體 # 格式2 while 條件: 代碼塊 else : 當條件為假的時候執行

count = 0 while count < 5 : print (count, " is less than 5 " ) count = count + 1 else : print (count, " is not less than 5 " )

# !/usr/bin/env python3 # -*-coding:utf-8-*- """ @author:fyh @time:2019/9/10 """ print_num = int(input( " which loop do you want it printed out? " )) count = 0 while count < 100 : if count == print_num: print ( " There you got the number: " , count) choice = input( " Do you want to continue the loop?(y/n) " ) if choice == " n " : break else : while print_num <= count: print_num = input( " Which loop do you want it to be printed out " ) print ( " 已經過了 " ) else : print ( " Loop: " , count) count += 1 else : print ( " Loop: " , count)

# !/usr/bin/env python # -*-coding:utf-8-*- """ @author:fyh @time:2019/5/31 """ while True: # 該條件永遠為true,循環將無限執行下去 num = input( " Enter a number : " ) print ( " You entered: " , num) # 該語句永遠不會被執行到 print ( " good bye " )
2.2.2 for循環

for iterating_var in sequence: statements(s)

# !/usr/bin/env python # -*-coding:utf-8-*- """ @author:fyh @time:2019/5/31 """ for letter in ' Python ' : # 第一個實例 print ( ' 當前字母 : ' , letter) fruits = [ ' banana ' , ' apple ' , ' mango ' ] for fruit in fruits: # 第二個實例 print ( ' 當前水果 : ' , fruit) print ( " Good bye! " )

# !/usr/bin/env python # -*-coding:utf-8-*- """ @author:fyh @time:2019/5/31 """ for i in range(1, 20 ): print (i) else : print ( " hahah " )
2.2.3 break和continue
break 和 continue 是專門在循環中使用的關鍵字
- break 某一條件滿足時,不再執行循環體中后續重復的代碼,并退出循環
- continue 某一條件滿足時,不再執行本次循環體中后續重復的代碼,但進入下一次循環判斷

print_num = input( " which loop do you want it printed out? " ) count = 0 while count < 10000000 : if count == print_num: print ( " There you got the number: " , count) choice = input( " Do you want to continue the loop?(y/n) " ) if choice == " n " : break else : while print_num <= count: print_num = input( " Which loop do you want it to be printed out " ) print ( " 已經過了 " ) else : print ( " Loop: " , count) count += 1 else : print ( " Loop: " , count)

# 猜數字游戲,3次機會 import random real_num = random.randrange(10 ) for i in range(3 ): guess_num = input( " please input a number: " ).strip() # 去除空格和換行 if len(guess_num) == 0: continue if guess_num.isdigit(): guess_num = int(guess_num) else : print ( " please input a really num: " ) continue if real_num > guess_num: print ( " Wrong! you should input a bigger " ) elif real_num < guess_num: print ( " Wrong! you should input a smaller " ) else : print ( " Configuration! you go it! " ) break else : # 在for循環正常執行完之后執行后面的else語句 print ( " The real num is " , real_num)
?2.3 if實現三目運算符
1 """ 2 格式: 3 a if a > b else b 4 """ 5 6 # 求a和b兩個數字中的較大值. 7 a = 10 8 b = 20 9 # 使用三目運算符求較大值 10 max = a if a > b else b 11 print ( " 較大值為:%d " % max)
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
