【Python】05、Python運算符

文章目錄

    • 1.算術運算符
    • 2.賦值運算符
    • 3.關系運算符
    • 4.邏輯運算符
      • 4.1 布爾值邏輯運算
      • 4.2 非布爾值的邏輯運算符
    • 5.條件運算符
    • 6.運算符優先級

運算符也稱為操作符,可以對一個或多個值進行運算或各種操作。比如+、-、=都屬于運算符

1.算術運算符

  • 加法

如果是兩個字符串之間進行加法,則會進行字符串拼接

  • 減法運算符

整數、浮點數,布爾值可進行運算

  • 乘法(*、**)
  1. * 乘法運算符,如果將字符串和數字相乘,則會對字符串進行復制

a = 5 - True
print(a)


輸出:4


  1. ** 表示冪運算
    a = 3 ** 2 // 表示計算32
    print(a);

輸出:9

  • 除法(/、//)

/ 除法運算,運算結果返回的是浮點型,除數不能為0


// 表示整除,只會保留計算后的整數位
a = 10 // 3
print(a)


輸出:3

  • 取模

計算余數
a = 10 % 4 // a表示10除以4的余數
print(a)


輸出:2

2.賦值運算符

  • =

賦值運算符指的是等號(=),可以將等號右側的值賦值給等號左側的變量
a = 10
print(a)


輸出:10

  • +=

a += 5 等價于 a = a + 5;
以此類推:
a -= 5 等價于 a = a - 5
a *= 5 等價于 a = a * 5
a **= 5 等價于 a = a ** 5
a /= 5 等價于 a = a / 5
a //= 5 等價于 a = a // 5
a %= 5 等價于 a = a % 5

3.關系運算符

關系運算符用來比較兩個值之間的關系,總會返回一個布爾值

  • > 比較左邊的值是否大于右邊的值,返回布爾值結果
  • >= 比較左邊的值是否大于等于右邊的值,返回布爾值結果
  • < 比較左邊的值是否小于右邊的值,返回布爾值結果
  • <= 比較左邊的值是否小于等于右邊的值,返回布爾值結果
  • == 比較左邊的值是否等于右邊的值,返回布爾值結果 # 這里比較的是兩個對象的值,而不是id
  • != 比較左邊的值是否不等于右邊的值,返回布爾值結果
  • is 比較兩個對象是否為同一個對象,比較的是對象的id
  • is not 比較兩個對象是否不是同一個對象,比較的是對象的id

在Python中可以對兩個字符串進行大于(等于)或小于(等于)的運算,當對字符串進行比較時,實際比較的是字符串的UniCode編碼值,比較的時候是逐位進行比較

4.邏輯運算符

4.1 布爾值邏輯運算

邏輯運算符主要用來做一些邏輯判斷

  • not 邏輯非,
    not可以對符號右側的值進行非運算;
    對于非布爾值,非運算會先將其轉化為布爾值,然后再取反

a = True;
a = not a;
print(a)
輸出:False


  • and 邏輯與
    and可以對符號兩側的值進行與運算
    Python中的與運算是 短路與,當匹配值是False時,直接返回不再比較后面的值

result = True and True #結果: True
result = True and False# 結果:False
result = False and True # 結果:False
result = False and False# 結果:False


  • or 邏輯或
    or可以對符號兩側的數值進行或運算
    或運算只要有一個True就返回True

Python中的或運算是 短路或,當匹配值是True時,直接返回不再比較后面的值


result = True or True #結果: True
result = True or False# 結果:True
result = False or True # 結果:True
result = False or False# 結果:False

4.2 非布爾值的邏輯運算符

對非布爾值進行邏輯運算時,Python會將其當做布爾值運算,最終會返回原值

  • 與運算
    與運算規則:與運算是找False,如果找到了False則直接返回,不看第二個值,如果第一個值不是False則直接返回第二個值

result = 1 and 2
print(result)
輸出:2

  • 說明:與運算是找False,上式中1 and 2 中,先匹配1,是True,需要執行下一步判斷,匹配2的時候不管是什么值,都會將2返回,因為1已經判斷結束了

result = 2 and 1 # 輸出結果:1
result = 0 and 1 # 輸出結果:0
result = 0 and None # 輸出結果:0

  • 或運算
    運算規則:或運算是找True,如果找到了True則直接返回,不看第二個值,如果第一個值不是True則直接返回第二個值

result = 2 or 1 # 輸出結果:2
result = 1 or 0 # 輸出結果:1
result = 0 or None # 輸出結果:None

  • 補充

邏輯運算符可以連用,表示中間值與兩邊進行比較
result = 1 < 2 < 3 #相當于 1 < 2 and 2 < 3
print(result) #輸出結果:True

5.條件運算符

條件運算符也稱為三元運算符。

  • 語法
  1. 結構:語句1 if 條件表達式 else 語句 2
    執行流程:先對條件表達式進行求值判斷,如果判斷結果為True,執行語句1,否則執行語句2

print(‘Hello’) if True else print(‘World’) # 輸出結果:Hello
print(‘Hello’) if False else print(‘World’) # 輸出結果:World

6.運算符優先級

和數學運算中一樣,Python中運算符也有優先級,比如先乘除后加減
運算符的優先級可根據優先級表格查詢,在表格中位置越靠下的運算符優先級越高,優先級越高的越優先計算,如果優先級一樣,則從左向右計算
運算符優先級
無需硬記,如果在開發中遇到優先級不清楚的,可以通過小括號來改變運算順序

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71489.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71489.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71489.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025-03-06 學習記錄--C/C++-PTA 習題6-6 使用函數輸出一個整數的逆序數

合抱之木&#xff0c;生于毫末&#xff1b;九層之臺&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、題目描述 ?? 二、代碼&#xff08;C語言&#xff09;?? #include <stdio.h>int reverse( int number );int main…

簡記_硬件系統設計之需求分析要點

目錄 一、 功能需求 二、 整體性能需求 三、 用戶接口需求 四、 功耗需求 五、 成本需求 六、 IP和NEMA防護等級需求 七、 認證需求 功能需求 供電方式及防護 供電方式&#xff1a;市電供電、外置直流穩壓電源供電、電池供電、PoE&#xff08;Power Over Ether…

[原創](Modern C++)現代C++的關鍵性概念: 利用“概念(Concepts)“,可以優雅地約束模板參數

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 開發工具: Visual Studio、Delphi、XCode、Eclipse…

Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks

Self-Pro: A Self-Prompt and Tuning Framework for Graph Neural Networks ?#paper/GFM/GNN-BASED#? #paper/???#? 注意&#xff1a;這篇文章是每個圖一個GCN模型&#xff0c;而不是所有圖一個GCN 模型 算是最早的涉及異配圖的prompt了 貢獻和動機&#xff1a; 非對…

寶塔 Linux 計劃任務中添加運行項目網站PHP任務-定時任務

一、指定php版運行&#xff0c; cd /www/wwwroot/www.xxx.com/ && /www/server/php/56/bin/php think timedtasks start >> /tmp/timedtasks.log 2>&1 二、不指定php版 cd /www/wwwroot/www.xxx.com/ && php think timedtasks start >> …

【電控筆記z29】擾動估測器DOB估測慣量J-摩擦系數B

基本原理 擾動估測器的核心思想是通過向電機系統施加特定的擾動信號&#xff0c;觀察系統響應的變化&#xff0c;然后利用系統的動態模型和控制理論來估計未知參數&#xff0c;如慣量和摩擦系數 。一般基于電機的運動方程建立數學模型&#xff0c;結合觀測到的電機實際運行數據…

要查看 SQLite 數據庫中的所有表,可以通過查詢 SQLite 的系統表 sqlite_master

要查看 SQLite 數據庫中的所有表&#xff0c;可以查詢 SQLite 的系統表 sqlite_master。 每個 SQLite 數據庫都包含一個名為 sqlite_master 的系統表。該表定義了數據庫的模式&#xff0c;存儲了數據庫中所有表、索引、視圖和觸發器等對象的信息。 通過查詢 sqlite_master&am…

如何在Spring Boot中讀取JAR包內resources目錄下文件

精心整理了最新的面試資料和簡歷模板&#xff0c;有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 以下是如何在Spring Boot中讀取JAR包內resources目錄下文件的教程&#xff0c;分為多種方法及詳細說明&#xff1a; 方法1&#xff1a;使用 ClassPathResour…

清華大學DeepSeek賦能家庭教育【附下載鏈接】

核心要點&#xff1a; DeepSeek通過基礎模型&#xff08;V3&#xff09;、深度思考模型&#xff08;R1&#xff09;及聯網模型&#xff0c;為家庭教育提供分層支持&#xff1a;V3用于作業輔導&#xff0c;R1培養批判性思維&#xff0c;聯網模型助力探究性學習。家長需遵循目標導…

C語言番外篇(5)-------------->作用域與生命周期

作用域與生命周期是非常重要的編程知識。本篇文章使用C語言講述作用域與生命周期。 一、作用域 在程序設計中&#xff0c;變量并非總是有效的&#xff0c;可以使用的區域就是作用域。 1.1局部變量的作用域 在{}中的都是局部變量&#xff0c;只是作用大小不一樣而已。我們可…

若依前后端分離版使用Electron打包前端Vue為Exe文件

1.前言 本文詳細介紹如何使用electron將若依框架前后端分離版的前端Vue頁面打包為Exe文件&#xff0c;并且包括如何實現應用更新。使用若依基礎代碼體現不出打包功能&#xff0c;因此我使用開發的文件管理系統&#xff0c;介紹上述過程&#xff0c;具體可以查看我的文章《若依…

Linux——Docker容器內MySQL密碼忘記了如何查看

目錄 查看正在運行的MySQL的容器ID 方法一&#xff1a;查看MySQL容器的日志里的密碼 方法二&#xff1a;通過環境變量密碼登錄 方法三&#xff1a;修改密碼 查看正在運行的MySQL的容器ID docker ps 方法一&#xff1a;查看MySQL容器的日志里的密碼 docker logs [MySQL的容器…

康謀分享 | 3DGS:革新自動駕駛仿真場景重建的關鍵技術

隨著自動駕駛技術的迅猛發展&#xff0c;構建高保真、動態的仿真場景成為了行業的迫切需求。傳統的三維重建方法在處理復雜場景時常常面臨效率和精度的挑戰。在此背景下&#xff0c;3D高斯點陣渲染&#xff08;3DGS&#xff09;技術應運而生&#xff0c;成為自動駕駛仿真場景重…

大模型架構記錄2

一 應用場景 1.1 prompt 示例 1.2 自己搭建一個UI界面&#xff0c;調用接口 可以選用不同的模型&#xff0c;需要對應的API KEY 二 Agent 使用 2.1 構建GPT

【C++】二叉樹相關算法題

一、根據二叉樹創建字符串 題目描述&#xff1a; 給你二叉樹的根節點 root &#xff0c;請你采用前序遍歷的方式&#xff0c;將二叉樹轉化為一個由括號和整數組成的字符串&#xff0c;返回構造出的字符串。 空節點使用一對空括號對 “()” 表示&#xff0c;轉化后需要省略所有…

【機械視覺】C#+visionPro聯合編程———【一、C# + VisionPro 聯合編程詳解以及如何將visionPro工具加載到winform】

機械視覺與 C# VisionPro 聯合編程詳解 目錄 機械視覺與 C# VisionPro 聯合編程詳解 概念 應用場景 1. 工業檢測與質量控制缺陷檢測 2. 定位與機器人引導 3. 識別與分類 4. 復雜流程控制 將visionPro工具加載到winform 環境準備 一、創建winform項目 二、打開窗體…

修改hosts文件,修改安全屬性,建立自己的DNS

初級代碼游戲的專欄介紹與文章目錄-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。 這些代碼大部分以Linux為目標但部分代碼是純C的&#xff0c;可以在任何平臺上使用。 源碼指引&#xff1a;github源…

對NXP提供的BSP里邊所使用的u-boot的環境變量`bootcmd`的解析

為什么我們要解析環境變量bootcmd&#xff1f; 承接博文 https://blog.csdn.net/wenhao_ir/article/details/145902134 繼續解析u-boot的環境變量bootcmd。 為什么要解析u-boot的這個環境變量bootcmd&#xff1f;因為如果u-boot在倒計時完后,首先執行的是就是下面這條命令&am…

NSSCTF [SWPUCTF 2024 秋季新生賽]金絲雀

5948.[SWPUCTF 2024 秋季新生賽]金絲雀 canary繞過和64位的ret2libc(格式化字符串泄露) (1) motalymotaly-VMware-Virtual-Platform:~/桌面$ file xn xn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.…

神經網絡中梯度計算求和公式求導問題

以下是公式一推導出公式二的過程。 表達式一 ? E ? w j k ? 2 ( t k ? o k ) ? sigmoid ( ∑ j w j k ? o j ) ? ( 1 ? sigmoid ( ∑ j w j k ? o j ) ) ? ? ? w j k ( ∑ j w j k ? o j ) \frac{\partial E}{\partial w_{jk}} -2(t_k - o_k) \cdot \text{sigm…