Python學習筆記二(運算符必盖、程序結構)

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ù)類型轉換

數(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)內外變量賦值的區(qū)別

  • 在循環(huán)外的變量隨著循環(huán)一直累加,
  • 在循環(huán)內的變量,每當一次新的循環(huán)開始,都被重新賦值

while 循環(huán)的嵌套
while 循環(huán)的嵌套

有這么一個游戲够颠,有一個立柜,立柜的每一個格子放著一個套娃榄鉴。只有頂層的套娃可以操作履磨。


柜子里面放著套娃

只有把頂層的套娃取到最小的那一個蛉抓,


頂層取完

下一層的套娃自動上升到頂層
上升到頂層

如此往復,直到立柜中的所有套娃都取出為止剃诅,如圖


終止

如上所述的游戲過程巷送,

  1. 列游戲開始,立柜把格子上升到頂層矛辕。(外層while 開始執(zhí)行(外循環(huán)))
  2. 這時頂層的套娃可以操作笑跛,把套娃一個一個取出。(內層while開始執(zhí)行(內循環(huán)))
  3. 當頂層的套娃完全取出(內循環(huán)結束)聊品,下一層自動上升到頂層飞蹂。(外循環(huán)繼續(xù)執(zhí)行)
  4. 如2一樣,這時頂層的套娃可以操作翻屈,把套娃一個一個取出(內循環(huán)繼續(xù)執(zhí)行)陈哑。
  5. 當所有套娃全部取出,游戲結束(當內循環(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


  1. 位操作運算講解 ?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市赁遗,隨后出現(xiàn)的幾起案子署辉,更是在濱河造成了極大的恐慌,老刑警劉巖岩四,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哭尝,死亡現(xiàn)場離奇詭異,居然都是意外死亡剖煌,警方通過查閱死者的電腦和手機材鹦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來耕姊,“玉大人桶唐,你說我怎么就攤上這事尤泽⌒苎剩” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵巍棱,是天一觀的道長如贷。 經常有香客問我,道長,這世上最難降的妖魔是什么纹蝴? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任兼犯,我火速辦了婚禮帆竹,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布茂洒。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雌芽,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天,我揣著相機與錄音辨嗽,去河邊找鬼世落。 笑死,一個胖子當著我的面吹牛糟需,可吹牛的內容都是我干的屉佳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼洲押,長吁一口氣:“原來是場噩夢啊……” “哼武花!你這毒婦竟也來了?” 一聲冷哼從身側響起杈帐,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤体箕,失蹤者是張志新(化名)和其女友劉穎专钉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體累铅,經...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡跃须,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了娃兽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菇民。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖投储,靈堂內的尸體忽然破棺而出第练,到底是詐尸還是另有隱情,我是刑警寧澤玛荞,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布复旬,位于F島的核電站,受9級特大地震影響冲泥,放射性物質發(fā)生泄漏驹碍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一凡恍、第九天 我趴在偏房一處隱蔽的房頂上張望志秃。 院中可真熱鬧,春花似錦嚼酝、人聲如沸浮还。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钧舌。三九已至,卻和暖如春涎跨,著一層夾襖步出監(jiān)牢的瞬間洼冻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工隅很, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留撞牢,地道東北人。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓叔营,卻偏偏與公主長得像屋彪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子绒尊,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內容

  • 第2章 Python程序實例解析 溫度轉換程序實例 溫度刻畫存在不同體系畜挥,攝氏度以1標準大氣壓下水的結冰點為0度,...
    jplee閱讀 3,776評論 0 2
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)婴谱,也就是一...
    悟名先生閱讀 4,131評論 0 13
  • 1)for x in ...循環(huán)就是把每個元素代入變量x蟹但,然后執(zhí)行縮進塊的語句 2)range(101)就可以生成...
    木凜閱讀 322評論 0 0
  • 值類型&引用類型 值類型(不可變):int躯泰、str、tuple 引用類型(可變):list矮湘、set斟冕、dict 運算...
    stoolman閱讀 93評論 0 0
  • 01 在職場里十办,不喜歡表現(xiàn)自己偏于內向的人常常在別人尤其是一些領導眼中屬于被忽視或者被看不起群體,甚至是當著許多同...
    夜語山林閱讀 576評論 0 3