Python開發 第2節 Python運算子

2022-07-18 06:57:14 字數 4918 閱讀 2637

python語言支援以下型別的運算子:

假設變數a = 10,變數b = 21:

運算子描述例項+

加 - 兩個物件相加

a + b 輸出結果 31

-減 - 得到負數或是乙個數減去另乙個數

a - b 輸出結果 -11

*乘 - 兩個數相乘或是返回乙個被重複若干次字串

a * b 輸出結果 210

/除 - x 除以 y

b / a 輸出結果 2.1

%取模 - 返回除法的餘數

b % a 輸出結果 1

**冪 - 返回x的y次冪

a**b 為10的21次方

//取整除 - 返回商的整數部分

9//2 輸出結果 4 ,

9.0 輸出結果 4.0

假設變數a = 10,變數b = 21:

運算子描述

例項==

等於 - 比較物件是否相等

(a == b) 返回 false。

!=不等於 - 比較兩個物件是否不相等

(a != b) 返回 true。

>

大於 - 返回x是否大於y

(a > b) 返回 false。

<

小於 - 返回x是否小於y。返回1表示真,返回0表示假。

這分別與特殊的變數true和false等價。注意,這些變數名的大寫。

(a < b) 返回 true。

>=

大於等於 - 返回x是否大於等於y。

(a >= b) 返回 false。

<=

小於等於 - 返回x是否小於等於y。

(a <= b) 返回 true。

假設變數a = 10,變數b = 21:

運算子描述例項=

簡單的賦值運算子

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

假設變數 a = 60,b = 13:

>>> a=18        

>>> bin(a) #

將變數a的數值轉成二進位制數值輸出

'0b10010

'>>> b = 0b10010 #

將二進位制的數值賦給變數b

>>>b18#

下面是二進位制運算

a = 0011 1100b = 0000 1101

-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001

~a = 1100 0011

運算子描述例項&

按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0

(a & b) 輸出結果 12 ,二進位制解釋: 0000 1100

l按位或運算子:只要對應的二個二進位有乙個為1時,結果位就為1。

(a l b) 輸出結果 61 ,二進位制解釋: 0011 1101

^按位異或運算子:當兩對應的二進位相異時,結果為1

(a ^ b) 輸出結果 49 ,二進位制解釋: 0011 0001

~按位取反運算子:對資料的每個二進位制位取反,即把1變為0,把0變為1。~x 類似於 -x-1

(~a ) 輸出結果 -61 ,二進位制解釋: 1100 0011, 在乙個有符號二進位制數的補碼形式。

<<

左移動運算子:運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,高位丟棄,低位補0。

a << 2 輸出結果 240 ,二進位制解釋: 1111 0000

>>

右移動運算子:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數

a >> 2 輸出結果 15 ,二進位制解釋: 0000 1111

變數 a = 10, b = 20:

運算子邏輯表示式

描述例項

andx and y

布林"與" - 如果 x 為 false,x and y 返回 false,否則它返回 y 的計算值。

(a and b) 返回 20。

orx or y

布林"或" - 如果 x 是 true,它返回 x 的值,否則它返回 y 的計算值。

(a or b) 返回 10。

notnot x

布林"非" - 如果 x 為 true,返回 false 。如果 x 為 false,它返回 true。

not(a and b) 返回 false

運算子描述

例項in

如果在指定的序列中找到值返回 true,否則返回 false。

x 在 y 序列中 , 如果 x 在 y 序列中返回 true。

not in

如果在指定的序列中沒有找到值返回 true,否則返回 false。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 true。

#!/usr/bin/python3

a = 10

b = 20

list = [1, 2, 3, 4, 5 ];

if ( a in list ):

print ("1 - 變數 a 在給定的列表中 list 中")

else:

print ("1 - 變數 a 不在給定的列表中 list 中")

if ( b not in list ):

print ("2 - 變數 b 不在給定的列表中 list 中")

else:

print ("2 - 變數 b 在給定的列表中 list 中")

# 修改變數 a 的值

a = 2

if ( a in list ):

print ("3 - 變數 a 在給定的列表中 list 中")

else:

print ("3 - 變數 a 不在給定的列表中 list 中")

身份運算子用於比較兩個物件的儲存單元。

運算子描述

例項is

is是判斷兩個識別符號是不是引用自乙個物件

x is y, 類似 id(x) == id(y) , 如果引用的是同乙個物件則返回 true,否則返回 false

is not

is not 是判斷兩個識別符號是不是引用自不同物件

x is not y , 類似 id(a) != id(b)。如果引用的不是同乙個物件則返回結果 true,否則返回 false。

#!/usr/bin/python3

a = 20

b = 20

if ( a is b ):

print ("1 - a 和 b 有相同的標識")

else:

print ("1 - a 和 b 沒有相同的標識")

if ( id(a) == id(b) ):

print ("2 - a 和 b 有相同的標識")

else:

print ("2 - a 和 b 沒有相同的標識")

# 修改變數 b 的值

b = 30

if ( a is b ):

print ("3 - a 和 b 有相同的標識")

else:

print ("3 - a 和 b 沒有相同的標識")

if ( a is not b ):

print ("4 - a 和 b 沒有相同的標識")

else:

print ("4 - a 和 b 有相同的標識")

程式執行結果:

1 - a 和 b 有相同的標識

2 - a 和 b 有相同的標識

3 - a 和 b 沒有相同的標識

4 - a 和 b 沒有相同的標識

is 與 == 區別:

# is 用於判斷兩個變數引用物件是否為同乙個, == 用於判斷引用變數的值是否相等。

>>>a = [1, 2, 3]

>>> b = a

>>> b is a

true

>>> b == a

true

>>> b = a[:] # 其中[:]表示複製傳值

>>> b is a

false

>>> b == a

true

以下**列出了從最高到最低優先順序的所有運算子:

運算子描述

**指數 (最高優先順序)

~ + -

按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)

* / % //

乘,除,取模和取整除

+ -加法減法

>> <<

右移,左移運算子

&位 'and'

^ l位運算子

<= < > >=

比較運算子

<> == !=

等於運算子

= %= /= //= -= += = *=

賦值運算子

is is not

身份運算子

in not in

成員運算子

not or and

邏輯運算子

Python開發 第6節 檔案操作

格式 open 檔案路徑 開啟模式 返回值 檔案io物件 開啟模式一共n種 w模式 寫模式write 檔案不存在時會建立檔案,如果檔案已存在則會清空檔案 r模式 讀模式read 檔案不存在就報錯,存在則準備讀取檔案 x模式 抑或模式 檔案存在則報錯,檔案不存在則新建檔案 b模式 二進位制模式 bin...

Python開發 第5節 函式基礎

函式的本質就是功能的封裝。函式的作用 def 函式名 引數 函式文件 函式功能 函式功能 呼叫函式 函式名 引數 形參 宣告函式時 中的引數是形參 形參只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。...

第2節 python實現檔案讀取

使用read csv方法讀取,結果為dataframe格式 在讀取csv檔案時,檔名稱盡量是英文 引數較多,可以自行控制,但多數時候使用預設引數 讀取csv時,注意編碼,常用的編碼為utf 8 gbk gbk2312和gb18030等。使用to csv快速儲存。讀取csv檔案 import nump...