0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python中運(yùn)算符介紹

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:時間靜止不是簡史 ? 2023-03-08 17:22 ? 次閱讀

1. 邏輯運(yùn)算符

邏輯運(yùn)算符總結(jié):

測試代碼

a, b, c = 1, 2, 3

print((a 《 b) and (b 《 c))

print((a 》 b) or (a 《 b))

print(not (a 《 b))

2. 比較運(yùn)算符

所有比較運(yùn)算符返回 1 表示真,返回 0 表示假。 這分別與特殊變量True 和 False 等價

測試代碼

a = 5

if a 《= 30:

print(“a《30”)

if 4 《= a 《= 30:

print(“1《=a《=10”)

if 4 《= a & a 《= 30:

print(“4 《= a & a 《= 30”)

3. 位運(yùn)算符

按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計算的。Python中的按位運(yùn)算法則如圖所示:

測試代碼

a = 0b11001

b = 0b01000

print(bin(a | b)) # bin()可以將數(shù)字轉(zhuǎn)成二進(jìn)制表示 ‘0b11001’

print(bin(a & b)) # 與

print(bin(a ^ b)) # 異或

print(3 《《 2) # 左移1位相當(dāng)于乘以2.左移兩位相當(dāng)于:3*(2*2)

print(20 》》 1) # 右移移位相當(dāng)于除以2

4. 加法操作, 乘法操作補(bǔ)充

加法操作補(bǔ)充

數(shù)字相加 3+2 結(jié)果是 5

字符串拼接 “3”+“2” 結(jié)果是 “32”

列表、元組等合并 [10,20,30]+[5,10,100] 結(jié)果是 [10,20,30,5,10,100]

乘法操作補(bǔ)充

數(shù)字相乘 3*2 結(jié)果是 6

字符串復(fù)制 “abc”*3 結(jié)果是 ”abcabcabc”

列表、元組等復(fù)制 [10,20,30]*3 結(jié)果是 [10,20,30,10,20,30,10,20,30]

5. 增強(qiáng)賦值運(yùn)算符補(bǔ)充

復(fù)合賦值可以讓程序更加精煉,提高效率

與 C 和 JAVA 不一樣, Python 不支持自增(++)和自減(--)

測試代碼

str_a = “Time”

str_b = “Pause”

str_c = “The”

str_d = “WorldWorld”

str_a += “e”

# str_b -= “e”

str_c *= 3

# str_d /= 2

print(str_a) # 加法支持字符串拼接

print(str_b) # 減法不支持字符串裁剪

print(str_c) # 乘法支持字符串拼接

print(str_d) # 除法也不支持字符串操作

a = 1 《《 2

a 《《= 2

print(“1左移2位”, 1 《《 2, “a左移賦值”, a)

注意:

增強(qiáng)賦值運(yùn)算符左右需要空格, 但組成增強(qiáng)賦值運(yùn)算符的運(yùn)算符之間不需要空格

6. 同一運(yùn)算符

同一運(yùn)算符用于比較兩個對象的存儲單元,實際比較的是對象的地址

is 與 == 區(qū)別:

is 用于判斷兩個變量引用對象是否為同一個,即比較對象的地址。

== 用于判斷引用變量引用對象的值是否相等,默認(rèn)調(diào)用對象__eq__() 方法。

測試代碼

a = 2

b = 2

c = 3

print(“a和b是同一個對象”, a is b) # 執(zhí)行結(jié)果:True, is比較的是id, 即對象的引用地址/內(nèi)存地址

print(“a和c是同一個對象”, a is c) # 執(zhí)行結(jié)果False

print(“a和c不是同一個對象”, a is not c) # 執(zhí)行結(jié)果True

總結(jié)

is 比較兩個對象的 id 值是否相等,是否指向同一個內(nèi)存地址

== 比較的是兩個對象的內(nèi)容是否相等,值是否相等

is 運(yùn)算符比 == 效率高,在變量和 None 進(jìn)行比較時,應(yīng)該使用 is

7.整數(shù)緩存問題

命令行模式下,Python僅僅對比較小的整數(shù)對象進(jìn)行緩存(范圍為[-5, 256])

語言底層用數(shù)組實現(xiàn),連續(xù)分配空間,便于查找 ,而并非是所有整數(shù)對象

文件模式下,所有數(shù)字都會被緩存,范圍是:[-無窮大,+無窮大])

緩存實現(xiàn):[-5,256]仍然底層用數(shù)組實現(xiàn) ;不在[-5,256]出現(xiàn)的數(shù),緩存到鏈表中,不連續(xù)分配空間

8. 成員運(yùn)算符

成員運(yùn)算符測試實例中包含了一系列的成員,包括字符串,列表或元組

測試代碼

a = “python”

b = “py”

print(b in a) # True

c = [10, 20, 30]

print(10 not in c) # False

9. 運(yùn)算符優(yōu)先級問題

運(yùn)算符優(yōu)先級如下圖,從高到低依次為:

測試代碼

# 測試運(yùn)算符優(yōu)先級

a, b, c, d = 20, 10, 15, 5

e = (a + b) * c / d # 30*15/5

print(‘(a+b)*c/d的執(zhí)行結(jié)果:’, e)

e = (a + b) * (c / d) # 30*(15/5)

print(‘(a+b)*(c/d)的執(zhí)行結(jié)果:’, e)

e = a + (b * c) / d # 20+150/5

print(‘a(chǎn)+(b*c)/d的執(zhí)行結(jié)果:’, e)

注意:

實際使用中,記住如下簡單的規(guī)則即可,復(fù)雜的表達(dá)式一定要使用小括號組織

乘除優(yōu)先加減

位運(yùn)算和算術(shù)運(yùn)算》比較運(yùn)算符》賦值運(yùn)算符》邏輯運(yùn)算符

10. 基本運(yùn)算符總結(jié)

基本運(yùn)算符注意包括以下幾類:

邏輯運(yùn)算符 (not , or , and)

比較運(yùn)算符 ( 》 , 《, =, 》= , 《= )

位運(yùn)算符( &, | , 》》 , 《《 等 )

增強(qiáng)運(yùn)算符 ( += , -= , *= , /+ 等 )

同一運(yùn)算符 ( is , is not )

成員運(yùn)算符 ( in , not in )

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3521

    瀏覽量

    93263
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84069
  • 運(yùn)算符
    +關(guān)注

    關(guān)注

    0

    文章

    166

    瀏覽量

    11013
收藏 人收藏

    評論

    相關(guān)推薦

    C語言中位運(yùn)算符的高級用法(2)

    在上一篇文章,我們介紹了&運(yùn)算符的高級用法,本篇文章,我們將介紹| 運(yùn)算符的一些高級用法。
    發(fā)表于 08-22 10:45 ?268次閱讀
    C語言中位<b class='flag-5'>運(yùn)算符</b>的高級用法(2)

    C語言中位運(yùn)算符的高級用法(3)

    在上一篇文章,我們介紹了|運(yùn)算符的高級用法,本篇文章,我們將介紹^ 運(yùn)算符的一些高級用法。
    發(fā)表于 08-22 10:47 ?215次閱讀
    C語言中位<b class='flag-5'>運(yùn)算符</b>的高級用法(3)

    C語言運(yùn)算符的使用方法

    詳細(xì)介紹了C語言表達(dá)式、算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、條件結(jié)構(gòu)、邏輯運(yùn)算符、位運(yùn)算符的語法
    發(fā)表于 11-02 11:30 ?932次閱讀
    C語言<b class='flag-5'>運(yùn)算符</b>的使用方法

    2.7 python運(yùn)算符

    2.7 python運(yùn)算符0. 什么是運(yùn)算符?本章節(jié)主要說明Python運(yùn)算符。舉個簡單的例子 4 +5 = 9 。 例子
    發(fā)表于 02-21 16:43

    FBD運(yùn)算符名稱

    本內(nèi)容介紹了FBD的運(yùn)算符名稱的解釋
    發(fā)表于 04-29 10:51 ?0次下載
    FBD<b class='flag-5'>運(yùn)算符</b>名稱

    條件運(yùn)算符是什么_條件運(yùn)算符有哪些

    運(yùn)算符優(yōu)先級高于賦值、逗號運(yùn)算符,低于其他運(yùn)算符。關(guān)系運(yùn)算實際上是邏輯比較運(yùn)算,它是邏輯運(yùn)算
    發(fā)表于 11-16 16:02 ?1.1w次閱讀
    條件<b class='flag-5'>運(yùn)算符</b>是什么_條件<b class='flag-5'>運(yùn)算符</b>有哪些

    單目運(yùn)算符是什么_單目運(yùn)算符有哪些

    單目運(yùn)算符是指運(yùn)算所需變量為一個的運(yùn)算符,又叫一元運(yùn)算符,其中有邏輯非運(yùn)算符:!、按位取反運(yùn)算符
    的頭像 發(fā)表于 02-24 15:42 ?6w次閱讀
    單目<b class='flag-5'>運(yùn)算符</b>是什么_單目<b class='flag-5'>運(yùn)算符</b>有哪些

    淺析MySQL的各類運(yùn)算符

    MySQL支持多種運(yùn)算符,我們在寫SQL腳本時經(jīng)常會需要用到各種各樣的運(yùn)算符,這些運(yùn)算符可以用來連接表達(dá)式,進(jìn)而從數(shù)據(jù)庫查詢我們需要的結(jié)果集等。這些類型主要包括算術(shù)
    的頭像 發(fā)表于 05-03 17:41 ?1967次閱讀
    淺析MySQL<b class='flag-5'>中</b>的各類<b class='flag-5'>運(yùn)算符</b>

    python運(yùn)算符是什么

    python運(yùn)算符 0. 什么是運(yùn)算符? 本章節(jié)主要說明Python運(yùn)算符。舉個簡單的例子 4 +5 = 9 。 例子
    的頭像 發(fā)表于 02-21 16:44 ?2194次閱讀

    什么是移位運(yùn)算符

    移位運(yùn)算符將向量的位向右或向左移位指定的次數(shù)。SystemVerilog具有按位和算術(shù)移位運(yùn)算符
    的頭像 發(fā)表于 02-09 15:49 ?1673次閱讀
    什么是移位<b class='flag-5'>運(yùn)算符</b>

    C語言的運(yùn)算符

    在C語言中,我們常常會用到表達(dá)式,在使用表達(dá)式的過程便會使用到運(yùn)算符。C語言中,不同的運(yùn)算符擁有不同的優(yōu)先級和結(jié)合性。在執(zhí)行運(yùn)算的過程,
    的頭像 發(fā)表于 02-21 15:12 ?1045次閱讀
    C語言的<b class='flag-5'>運(yùn)算符</b>

    Python中常見的條件運(yùn)算符有哪些

    x not in y x不是y容器的成員 在Python,比較運(yùn)算和賦值運(yùn)算是可以連接的——幾個運(yùn)算符可以連在一起使用,比如:0 有些
    的頭像 發(fā)表于 09-12 16:47 ?1540次閱讀

    python運(yùn)算符優(yōu)先級順序口訣

    將詳細(xì)介紹Python運(yùn)算符的優(yōu)先級順序以及如何正確使用它們。 首先,讓我們從最高優(yōu)先級的運(yùn)算符開始,逐步向下解釋。在Python
    的頭像 發(fā)表于 11-22 14:34 ?1637次閱讀

    python關(guān)系運(yùn)算符有哪些

    Python的關(guān)系運(yùn)算符主要包括以下幾種: 等于(==):用于判斷兩個操作數(shù)是否相等。如果相等,則返回True;否則返回False。 不等于(!=):用于判斷兩個操作數(shù)是否不相等。如果不相等,則
    的頭像 發(fā)表于 11-22 14:36 ?2038次閱讀

    python運(yùn)算符的優(yōu)先級大小

    Python運(yùn)算符的優(yōu)先級決定了表達(dá)式各個運(yùn)算符的計算順序。了解運(yùn)算符的優(yōu)先級對于正確理解和
    的頭像 發(fā)表于 11-29 16:21 ?1841次閱讀