前言:
很多初學Python的同學經常問我這樣的問題:學Python應該看什麼書啊?我會非常自信的把之前整理的Python教程扔給他,後來收到很多反饋:你的排版太爛了,你遺漏了好多知識點,能不能加一點練習題?
經過較長時間的反思,準備整理第二版Python基礎教程--菜鳥學Python,第二版會加上自己這一段時間來學習python過程中的一些感悟,走過的彎路,畢竟之前的自己還是太嫩了,會補充之前遺漏的知識點,同時會增加一些練習題和面試題,希望幫助大家輕鬆愉快,由淺入深的學習Python。
今天是第三篇文章--基本數據類型
前文回顧:
菜鳥學Python——初識Python
菜鳥學Python——基本數據類型
/ 01 / 什麼是運算符?官方的來說:運算符用於執行程序代碼運算,會針對一個以上操作數項目來進行運算。我們舉個例子來看,在7+3=10的運算中,7和3被稱為操作數,"+" 稱為運算符。
在Python中支持算術運算符,比較(關係)運算符,賦值運算符,邏輯運算符,位運算符,成員運算符,身份運算符,運算符優先級等這些運算符。
Python的算數運算符就是數學中常見的運算符:加(+),減(-),乘(*),除(/),取模(%),但是有兩個特殊的運算符:冪(**)和取整除(//),特別注意取整除,自己在這踩過很多坑。
現在介紹冪和取整除。
冪(**) 返回x的y次冪。看下面例子
a = 2
b = 3
c = a**b
print (c)
輸出8
取整除(//) 向下取接近除數的整數。看下面例子
a = 9
b = 2
c = a//b
print (c)
a = -9
b = 2
c = a//b
print (c)
當a為9的時候,輸出4,a為-9的時候輸出-5。
比較運算符比較運算符沒有特殊需要注意的,比較簡單。
== 等於:比較對象是否相等
!= 不等於:較兩個對象是否不相等
> 大於:返回x是否大於y
< 小於:返回x是否小於y。所有比較運算符返回1表示真,返回0表示假。這分別與特殊的變量True和False等價。注意,這些變量名的大寫。
>= 大於等於:返回x是否大於等於y。
<= 小於等於:返回x是否小於等於y。
a = 5;
b = 7;
if ( a <= b ):
print ("a 小於等於 b")
else:
print ("a 大於 b")
if ( b >= a ):
print ("b 大於等於 a")
else:
print ("b 小於 a")
= 簡單的賦值運算符
+= 加法賦值運算符
-= 減法賦值運算符
*= 乘法賦值運算符
/= 除法賦值運算符
%= 取模賦值運算符
**= 冪賦值運算符
//= 取整除賦值運算符
應用:
a = 2
b = 7
c = 0
c = a + b
print ("c 的值為:", c)
c += a
print ("c 的值為:", c)
c *= a
print ("c 的值為:", c)
c /= a
print ("c 的值為:", c)
c = 2
c %= a
print ("c 的值為:", c)
c **= a
print ("c 的值為:", c)
c //= a
print ("c 的值為:", c)
位運算符是把數字看作二進位來進行計算的,現在看看Python中的位運算符。
& 按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0。
| 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。
^ 按位異或運算符:當兩對應的二進位相異時,結果為1。
~按位取反運算符:對數據的每個二進位位取反,即把1變為0,把0變為1。~x 類似於 -x-1 。
<< 左移動運算符:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。
>>右移動運算符:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數。
a = 60
b = 13
c = 0
c = a & b;
print ("c 的值為:", c)
c = a | b;
print ("c 的值為:", c)
c = a ^ b;
print ("c 的值為:", c)
c = ~a;
print ("c 的值為:", c)
c = a << 2;
print ("c 的值為:", c)
c = a >> 2;
print ("c 的值為:", c)
Python的邏輯運算符有三個:and,or和not。
and: 表示布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。
or : 表示布爾"或" - 如果 x 是 True,它返回 x 的值,否則它返回 y 的計算值。
not: 表示布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。
is :is是判斷兩個標識符是不是引用自一個對象
is not :is not 是判斷兩個標識符是不是引用自不同對象
is這有一個經典的面試題:
is和==的區別
is 用於判斷兩個變量引用對象是否為同一個, == 用於判斷引用變量的值是否相等。
人生苦短,Python當歌
未完待續,連載中.
學習資源:
全網質量最高的程式設計師學習資源。
▼
介紹兩個提高你Python水平的項目
教你一點社交知識
你所謂的穩定,不過是在浪費生命
··· END ···
一個有趣的學習分享平臺,專注Python技術、數據分析和機器學習。