溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python全棧的運(yùn)算符有哪些

發(fā)布時間:2021-12-01 15:09:52 來源:億速云 閱讀:153 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Python全棧的運(yùn)算符有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Python全棧的運(yùn)算符有哪些”吧!

    1. 算數(shù)_比較_賦值_成員

    1.1 算數(shù)運(yùn)算符

    算數(shù)運(yùn)算符: + - * / // % **

    # +
    var1 = 7
    var2 = 90
    res = var1 + var2
    print(res)
    # -
    var1 = 7
    var2 = 90
    res = var1 - var2
    print(res)
    # *
    var1 = 7
    var2 = 10
    res = var1 * var2
    print(res)
    # / 結(jié)果永遠(yuǎn)為小數(shù)
    var1 = 10
    var2 = 5
    res = var1 / var2
    print(res , type(res))
    # // 地板除
    """被除數(shù) ? 除數(shù) = 商"""
    """注意點:如果被除數(shù)或者除數(shù)是小數(shù),那么得到正常結(jié)果之后,數(shù)值后面帶上.0變成小數(shù)"""
    var1 = 10.0
    var2 = 3.0
    # var2 = 3.0
    res = var1 // var2
    print(res)
    
    # %  取余
    var1 = 7
    var2 = 4
    res = var1 % var2
    res = -7 % 4  # -3 + 4 = 1
    res = 7 % -4  # 3 + (-4) = -1
    res = -7 % -4 # -3 (被除數(shù)和除數(shù)都是負(fù)的,正常結(jié)果加負(fù)號)
    res = 81 % 7   # 4
    res = 81 % -7  # -3
    res = -81 % 7  # 3
    res = -81 % -7 # -4
    print(res)
    # ** 冪運(yùn)算
    res = 2 ** 3
    print(res)

    1.2 比較運(yùn)算符

    比較運(yùn)算符: > < >= <= == !=

    """比較運(yùn)算符的結(jié)果要么是True , 要么是False 只有兩個值"""
    res = 10 > 5
    res = 10 >= 10
    # ==這個符號是在做比較,比較==兩邊的數(shù)值是否一樣
    res = 5 == 9
    res = 5 != 9 
    print(res)

    1.3 賦值運(yùn)算符

    賦值運(yùn)算符: = += -= *= /= //= %= **=

    # = 賦值運(yùn)算符 將右側(cè)的值賦值給左側(cè)變量
    a = 5 <= 3
    print(a)
    
    var1 = 10
    var2 = 5
    # += 
    """var1 = var1 + var2"""
    # var1 += var2
    # print(var1)
    # -=
    """var1 = var1 - var2"""
    # var1 -= var2
    # print(var1)
    # %=
    """var1 = var1 % var2"""
    var1 %= var2
    print(var1)

    1.4 成員運(yùn)算符

    成員運(yùn)算符: in not in (針對于容器型數(shù)據(jù))

    """字符串判斷時,必須是連續(xù)的片段"""
    strvar = "今天天氣要下雨,趕緊回家收衣服"
    res = "今" in strvar
    res = "天氣" in strvar
    res = "趕回" in strvar
    print(res)
    # 針對于列表,元組,集合
    container = ["趙沈陽","趙萬里","趙世超"]
    container = ("趙沈陽","趙萬里","趙世超")
    container = {"趙沈陽","趙萬里","趙世超"}
    # res = "趙沈陽" in container
    # res = "趙萬里" not in container
    res = "趙世超1223232" not in container
    print(res)
    # 針對于字典 (判斷的是字典的鍵,不是值)
    container = {"zsy":"趙沈陽","zwl":"趙萬里","zsc":"趙世超"}
    res = "趙沈陽" in container # False
    res = "zsy" in container
    print(res)

    2. 身份運(yùn)算符

    身份運(yùn)算符 is 和 is not (檢測兩個數(shù)據(jù)在內(nèi)存當(dāng)中是否是同一個值)

    # 整型 -5~正無窮 
    var1 = 100
    var2 = 100
    print(var1 is var2)
    # 浮點型 非負(fù)數(shù)
    var1 = -9.1
    var2 = -9.1
    print(var1 is var2)
    # bool 相同即可
    var1 = True
    var2 = True
    print(var1 is var2)
    # complex 在實數(shù)+虛數(shù)不相同 (只有虛數(shù)的情況下例外)
    var1 = 6-8j
    var2 = 6-8j
    var1 = -10j
    var2 = -10j
    print(var1 is var2)
    # 容器: 相同字符串 , 空元組相同即可  剩下的所有容器都不相同
    container1 = ()
    container2 = ()
    print(container1 is not container2)
    container1 = "你"
    container2 = "你"
    print(container1 is not container2)
    container1 = [1,23,3]
    container2 = [1,23,3]
    print(container1 is not container2)

    小提示:

    # var1和var2地址id是一樣的
    var1 = 10j 
    var2 = 10j
    # var1和var2地址id是不一樣的
    var1 = -10j 
    var2 = -10j

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

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

    # and 邏輯與   
    """全真則真,一假則假"""
    res = True and True    # True
    res = True and False   # False
    res = False and True   # False
    res = False and False  # False
    print(res)
    # or  邏輯或  
    """一真則真,全假則假"""
    res = True or True    # True
    res = False or True   # True
    res = True or False   # True 
    res = False or False  # False
    print(res)
    # not 邏輯非  
    res = not True
    res = not False
    print(res)
    # 邏輯短路
    """
    無論后面的表達(dá)式是True 還是False 都已經(jīng)無法改變最后的結(jié)果,那么直接短路,后面的代碼不執(zhí)行;
    (1) True or print("程序執(zhí)行了 ~ 1111")
    (2) False and print("程序執(zhí)行了 ~ 2222")
    True or print("程序執(zhí)行了 ~ 1111")
    True or True => True
    True or False => True
    False and print("程序執(zhí)行了 ~ 2222")
    False and True  => False
    False and False => False
    """
    """
    計算規(guī)律:
    	先腦補(bǔ)計算當(dāng)前表達(dá)式的布爾值是True還是False
    	如果出現(xiàn)了 True or 表達(dá)式  或者 False and 表達(dá)式的情況,直接返回前者,后面代碼不執(zhí)行
    	如果沒有出現(xiàn)短路效果,直接返回后者
    """
    res = 5 and 6 # 6
    """
    True and True =>True
    True and False => False
    """
    res = 5 or 6  # 5
    res = 0 and 999
    res = 0 or "abc"
    print(res)
    # 邏輯運(yùn)算符的優(yōu)先級
    """ 優(yōu)先級從高到低: () > not > and > or   """
    res = 5 or 6 and 7 # 5 or 7 => 5
    res = (5 or 6) and 7 # 5 and 7
    res = not (5 or 6) and 7 # not 5 and 7 => False and 7 => False
    res = 1<2 or 3>4 and 5<100 or 100<200 and not (700>800 or 1<-1)
    """
    not (False or False) => True
    res = 1<2 or 3>4 and 5<100 or 100<200 and not (700>800 or 1<-1)
    res = True or False and True or True and True
    res = True or False or True
    res = True or True => True
    """
    print(res)

    3.1 位運(yùn)算符

    位運(yùn)算符: & | ^ << >> ~

    var1 = 19
    var2 = 15
    # & 按位與
    res = var1 & var2
    """
    000 ... 10011
    000 ... 01111
    000 ... 00011 => 3
    """
    print(res)
    # | 按位或
    res = var1 | var2
    """
    000 ... 10011
    000 ... 01111
    000 ... 11111
    """
    print(res)
    # ^ 按位異或
    """兩個值不相同=>True 反之返回False"""
    res = var1 ^ var2
    """
    000 ... 10011
    000 ... 01111
    000 ... 11100
    """
    print(res)
    # << 左移 (相當(dāng)于乘法)
    """5乘以2的n次冪"""
    res = 5 << 1 # 10
    res = 5 << 2 # 20
    res = 5 << 3 # 40
    print(res)
    """
    000 ... 101  => 5
    000 .. 1010  => 10
    000 ..10100  => 20
    000 .101000  => 40
    """
    # >> 右移 (相當(dāng)于除法)
    """5地板除2的n次冪"""
    res = 5 >> 1 # 2
    res = 5 >> 2 # 1
    res = 5 >> 3 # 0
    """
    000 ... 101
    000 ... 010 => 2
    000 ... 001 => 1
    000 ... 000 => 0
    """
    print(res)
    
    # ~ 按位非 (針對于補(bǔ)碼進(jìn)行操作,按位取反,包含每一位)
    """ -(n+1) """
    # res = ~22
    res = ~19
    print(res)
    """
    原碼:000 ... 10011
    反碼:000 ... 10011
    補(bǔ)碼:000 ... 10011
    補(bǔ)碼:   000 ... 10011
    按位非: 111 ... 01100
    給你補(bǔ)碼->原碼
    補(bǔ)碼:111 ... 01100
    反碼:100 ... 10011
    原碼:100 ... 10100 => -20
    """
    res = ~-19
    print(res)
    """
    原碼:100 ... 10011
    反碼:111 ... 01100
    補(bǔ)碼:111 ... 01101
    補(bǔ)碼:   111 ... 01101
    按位非: 000 ... 10010
    給你補(bǔ)碼->原碼 (因為是整數(shù) ,原反補(bǔ)相同)
    000 ... 10010 => 18
    """

    3.2 小總結(jié)

    總結(jié):
    	個別運(yùn)算符:
    		運(yùn)算符優(yōu)先級最高的: **
    		運(yùn)算符優(yōu)先級最低的: =
    		()可以提升優(yōu)先級
    	一元運(yùn)算符 > 二元運(yùn)算符 (優(yōu)先級)
    		一元運(yùn)算符 : 同一時間,操作一個值 ~ - 
    		二元運(yùn)算符 : 同一時間,操作一個值 + - * / ....
    	同一種類運(yùn)算符:
    		算數(shù)運(yùn)算符 : 乘除 > 加減
    		邏輯運(yùn)算符 : () > not > and > or 
    		位運(yùn)算符   : ( << >> ) > & > ^ > |
    	整體排序:
    		算數(shù)運(yùn)算符 > 位運(yùn)算符 > 比較運(yùn)算符 > 身份運(yùn)算符 > 成員運(yùn)算符 > 邏輯運(yùn)算符
    		賦值運(yùn)算符用來做收尾
    """
    res = 5+5 << 6 // 3 is 40 and False
    """
    res = 10 << 2 is 40 and False
    res = 40 is 40 and False
    res = True and False
    res = False
    """
    print(res)
    # 用括號提升下優(yōu)先級
    res = (5+5) << (6//3) is 40 and False

    4. 代碼塊_單項_雙項分支

    4.1 代碼塊

    代碼塊:以冒號作為開始,用縮進(jìn)來劃分相同的作用域,這個整體是代碼塊

    """作用域: 作用的范圍"""
    if 10 == 11:
    	print(1)
    	print(2)
    	print(3)
    print(4)
    
    # 縮進(jìn):要么全都使用\t tab  要么全都是使用4個空格(也可以兩個空格,標(biāo)準(zhǔn)的是四個),來表達(dá)相同的作用域,不能混再一起;
    """
    if 10 == 10:
    	print(1)
        print(2)
    """
    # 其他語言的寫法 (了解)
    """
    if(10 == 10){
    	print(1)
    					print(2)
    																								print(3)
    }
    """

    4.2 流程控制

    """
    流程: 代碼執(zhí)行的過程
    控制: 對代碼執(zhí)行過程中的把控
    三大結(jié)構(gòu):
    (1)順序結(jié)構(gòu): 默認(rèn)代碼從上到下,依次執(zhí)行
    (2)分支結(jié)構(gòu): 單項分支 雙向分支 多項分支 巢狀分支
    (3)循環(huán)結(jié)構(gòu): while / for
    """

    4.3 單項分支

    """
    if 條件表達(dá)式:
    	code1
    	code2
    當(dāng)條件表達(dá)式成立,返回True,執(zhí)行對應(yīng)的代碼塊
    """
    zhiye = "程序員"
    if zhiye == "程序員":
    	print("拿高薪")
    	print("錢多,話少,死的早")
    	print("發(fā)量日漸稀少")

    4.4 雙項分支

    """
    if 條件表達(dá)式:
    	code1  ..
    else:
    	code2 ... 
    如果條件表達(dá)式成立,返回True ,執(zhí)行if這個區(qū)間的代碼塊
    如果條件表達(dá)式不成立,返回False,執(zhí)行else這個區(qū)間的代碼塊
    if   分支的代碼塊也叫做真區(qū)間
    else 分支的代碼塊也叫做假區(qū)間
    """
    
    zhiye = "強(qiáng)盜"
    zhiye = "律師"
    if zhiye == "強(qiáng)盜":
    	print("打他")
    	print("罵他")
    	print("喂他辣椒水")
    else:
    	print("給你一朵紅花")
    
    # input 等待用戶輸入字符串 (注意:結(jié)果一定是字符串)
    """
    name = input("你好~ 你媽貴姓~")
    print(name , type(name))
    """
    # ### 模擬網(wǎng)站登錄 
    # 如果admin = wangwen  密碼:password = 111 顯示登錄成功,否則顯示登錄失敗
    # admin = "wangwen"
    # password = "111"
    admin = input("請輸入您的賬號:")
    password =  input("請輸入您的密碼:")
    if admin == "wangwen" and password == "111":
    	print("登錄成功")
    else:
    	print("登錄失敗")

    5. 小作業(yè)

    1.99//4  ,  99%4 ,  -99 %4  ,  -99 %-4值是多少
    2.成員和身份運(yùn)算符如何使用
    3.邏輯運(yùn)算符優(yōu)先級?邏輯短路在什么情況下發(fā)生?
    4.優(yōu)先級最高和最低的運(yùn)算符是?
    5.左移右移后的值如何計算?按位非的公式?
    6.~(-25) ~25 推到一下過程
    7.res = 17>15 or 78<11 or 7 and 8 and not True is True  res=?
    8.計算表達(dá)式的值
        1).6 or 2 > 1      
        2).3 or 2 > 1      
        3).0 or 5 > 4      
        4).5 < 4 or 3          
        5).2 > 1 or 6      
        6).3 and 2 > 1     
        7).0 and 3 > 1    
        8).2 > 1 and 3    
        9).3 > 1 and 0    
        10).3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
        11)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    9.提示用戶輸入 "如何在dnf中變得更強(qiáng)?". 如果輸入的是充錢,打印"馬化騰愛你" ,反之輸出,"你想一想,不充錢怎么可能變得更強(qiáng)"

    到此,相信大家對“Python全棧的運(yùn)算符有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI