Python學習-day4

Python 語言的運算符:

  • 算術運算符
  • 比較(關系)運算符
  • 賦值運算符
  • 邏輯運算符
  • 位運算符
  • 成員運算符
  • 身份運算符
  • 運算符優先級

算術運算符

定義變量a = 21,變量b = 10。

運算符描述實例
+加 - 兩個對象相加a + b 輸出結果 31
-減 - 得到負數或是一個數減去另一個數a - b 輸出結果 -11
*乘 - 兩個數相乘或是返回一個被重復若干次的字符串a * b 輸出結果 210
/除 - x 除以 yb / a 輸出結果 2.1
%取模 - 返回除法的余數b % a 輸出結果 1
**冪 - 返回x的y次冪a**b 為10的21次方
//取整除 - 向下取接近除數的整數9//2輸出結果4,-9//2輸出結果-5。
a = 21
b = 10
print("a + b =", a+b)
print("a - b =", a-b)
print("a * b =", a*b)
print("a / b =", a/b)
print("a % b =", a%b)
print("a ** b =", a**b)
print("a // b =", a//b)

a + b = 31
a - b = 11
a * b = 210
a / b = 2.1
a % b = 1
a ** b = 16679880978201
a // b = 2

比較運算符

定義變量a = 10,變量b = 20。

運算符描述實例
==等于 - 比較對象是否相等(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 = 20
print("(a == b) =", (a == b))
print("(a != b) =", (a != b))
print("(a > b) =", (a > b))
print("(a < b) =", (a < b))
print("(a >= b) =", (a >= b))
print("(a <= b) =", (a <= b))

(a == b) = False
(a != b) = True
(a > b) = False
(a < b) = True
(a >=> b) = False
(a <= b) = True

賦值運算符

定義變量a = 10,變量b = 20。

運算符描述實例
=簡單的賦值運算符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 = 10
b = 20
c = 0c = a + b
print("c = (a + b) =", c)c += a
print("c = ( c += a) =", c)c -= a
print("c = (c -= a) =", c)c *= a
print("c = (c *= a) =", c)c /= a
print("c = (c /= a) =",  c)c = 2
c %= a
print("c = (c %= a) =", c)c **= a
print("c = (c ** = a) =", c)c //= a
print("c = (c //= a) =", c)

c = (a + b) = 30
c = ( c += a) = 40
c = (c -= a) = 30
c = (c *= a) = 300
c = (c /= a) = 30.0
c = (c %= a) = 2
c = (c ** = a) = 1024
c = (c //= a) = 102

位運算符

按位運算符是把數字看作二進制來進行計算的。
定義變量 a = 60,b = 13。

運算符描述實例
&按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0(a & b) 輸出結果 12 ,二進制解釋: 0000 1100
1按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1。(a 1 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 = 60
b = 13print("a & b =", a&b)
print("a | b =", a|b)
print("a ^ b =", a^b)
print("~ a =", ~a)
print("a << 2 =", a<<2)
print("a >> 2 =", a>>2)

a & b = 12
a | b = 61
a ^ b = 49
~ a = -61
a << 2 = 240
a >> 2 = 15

邏輯運算符

定義變量 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
a = 10
b = 20
c = 0print("a and b =", a and b)
print("a or b =", a or b)
print("not c =", not c)

a and b = 20
a or b = 10
not c = True

成員運算符

運算符描述實例
in如果在指定的序列中找到值返回 True,否則返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in如果在指定的序列中沒有找到值返回 True,否則返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];print("a in list =", a in list)
print("b not in list =", b not in list)

a in list = False
b not in list = True

身份運算符

身份運算符用于比較兩個對象的存儲單元。

運算符描述實例
isis 是判斷兩個標識符是不是引用自一個對象x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
is notis not 是判斷兩個標識符是不是引用自不同對象x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False。

注:
id() 函數用于獲取對象內存地址。
is 與 ==的 區別:is 用于判斷兩個變量引用對象是否為同一個, == 用于判斷引用變量的值是否相等。

a = 20
b = 20print("a is b =", a is b)
print("a is not b =", a is not b)
print("id(a) == id(b) =", id(a) == id(b))
print("id(a) != id(b) =", id(a) != id(b))
print("a == b =", a == b)b = 30
print("\n")
print("a is b =", a is b)
print("a is not b =", a is not b)
print("id(a) == id(b) =", id(a) == id(b))
print("id(a) != id(b) =", id(a) != id(b))
print("a == b =", a == b)

a is b = True
a is not b = False
id(a) == id(b) = True
id(a) != id(b) = False
a == b = True

a is b = False
a is not b = True
id(a) == id(b) = False
id(a) != id(b) = True
a == b = False

運算符優先級,從最高到最低優先級的所有運算符

  1. (expressions…),圓括號的表達式
  2. x[index], x[index:index], x(arguments…),x.attribute,讀取,切片,調用,屬性引用
  3. **,指數 (最高優先級)
  4. ~、+、- ,按位翻轉, 一元加號和減號 (最后兩個的方法名為 +@ 和 -@)
  5. *、/、%、// ,乘,除,取模和取整除
  6. +、-,加法減法
  7. 、<<,右移,左移運算符

  8. &,位 ‘AND’
  9. ^、|,位運算符
  10. <=、<、>、>=,比較運算符
  11. <>、==、!=,等于運算符
  12. =、%=、/=、//=、-=、+=、*=,賦值運算符
  13. is、is not,身份運算符
  14. in、not in,成員運算符
  15. not、and or,邏輯運算符

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

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

相關文章

Vite 插件 @vitejs/plugin-legacy 深度解析:舊瀏覽器兼容指南

&#x1f4d6; 簡介 vitejs/plugin-legacy 是 Vite 官方提供的兼容性插件&#xff0c;專門用于為現代瀏覽器構建的應用程序提供對舊版瀏覽器的支持。該插件通過自動生成兼容性代碼和 polyfill&#xff0c;確保您的應用能夠在 IE 11 等舊版瀏覽器中正常運行。 核心價值 向后兼…

數據質檢之springboot通過yarn調用spark作業實現數據質量檢測

Spring Boot 應用中通過 YARN 來調用 Spark 作業的來執行數據質檢。這是一個非常經典的數據質量檢測、數據優化的常用架構,將Web服務/業務處理(Spring Boot)與大數據質檢(Spark on YARN)解耦。 核心架構圖 首先,通過一張圖來理解整個流程的架構: 整個流程的核心在于,…

SQL優化_以MySQL為例

MySQL SQL 優化詳細教程與案例 1. 理解SQL執行過程 在優化之前&#xff0c;需要了解MySQL如何處理SQL查詢&#xff1a; 客戶端發送SQL語句到服務器服務器檢查查詢緩存&#xff08;MySQL 8.0已移除查詢緩存&#xff09;解析器解析SQL&#xff0c;生成解析樹預處理器驗證權限和表…

探索數據結構中的 “樹”:揭開層次關系的奧秘

在計算機科學的廣袤森林中&#xff0c;有一種數據結構如同參天大樹般支撐著無數應用的根基 —— 它就是 “樹”&#xff08;Tree&#xff09;。它不僅僅是一個抽象概念&#xff0c;更是我們理解和組織信息、模擬現實世界層級關系的強大工具。1. 什么是 “樹”&#xff1f;從家族…

技術框架之RPC

一、序言&#xff1a;為什么我們需要RPC&#xff1f;在單體應用時代&#xff0c;函數調用是進程內的簡單操作。但隨著業務規模擴大&#xff0c;系統被拆分為多個獨立服務&#xff08;如訂單服務、支付服務&#xff09;&#xff0c;服務間通信成為剛需。早期開發者常使用HTTPJSO…

【光照】Unity中的[光照模型]概念辨析

【從UnityURP開始探索游戲渲染】專欄-直達 基礎光照模型? ?標準光照模型&#xff08;Standard Lighting Model&#xff09;? ?定義?&#xff1a;傳統光照計算的框架&#xff0c;通常包含漫反射、鏡面反射和環境光三部分。?特點?&#xff1a;非物理經驗模型&#xff0c…

MCU上跑AI—實時目標檢測算法探索

MCU上跑實時目標檢測算法 前幾年一直忙著別的事情沒有在技術分享上下功夫, 這段時間穩定下來就想和幾個志同道合的朋友做點有意義的事情, 于是乎就使用MCU做了個與AI有識別相關的 “小玩意兒”. 本人負責嵌入式端相關的編碼, AI相關的工作由好友 AgeWang 負責. 這兒把一些成果給…

SpringBoot 整合 RabbitMQ 的完美實踐

引言: 本文總字數:約 9200 字 預計閱讀時間:38 分鐘 為什么 RabbitMQ 是消息中間件的優選? 在分布式系統架構中,消息中間件扮演著 "交通樞紐" 的角色,負責協調各個服務之間的通信。目前主流的消息中間件有 RabbitMQ、Kafka 和 RocketMQ,它們各具特色: Kafka…

nestjs 發起請求 axios

1、下載npm i --save nestjs/axios axios2、全局配置import { HttpModule } from nestjs/axios;Global() Module({imports: [HttpModule.registerAsync({inject: [ConfigService],useFactory: async (configService: ConfigService) > {return {timeout: configService.get(…

將 Logits 得分轉換為概率,如何計算

場景&#xff1a;動物識別&#xff0c;輸入一張28*28的圖像&#xff0c;模型輸出屬于 貓、狗、鳥 哪個類型。需求&#xff1a;假設模型 ??Logits&#xff08;模型在每個類別的置信度得分&#xff09; 輸出為??&#xff1a;[貓: 3.2, 狗: 1.5, 鳥: -0.8]。計算 ??Softmax …

【Qt】bug排查筆記——QMetaObject::invokeMethod: No such method

問題如題目所示&#xff1a;QMetaObject::invokeMethod: No such method xxxx&#xff0c;在網上好一頓查&#xff0c;又將查到的資料喂給了 Ai&#xff0c;才最終將問題解決&#xff0c;特此記錄下。 一、問題背景 在做公司項目時&#xff0c;使用了插件的方式開發。主程序加載…

Spring Boot手寫10萬敏感詞檢查程序

使用Spring Boot手寫10萬敏感詞檢查程序 本文將介紹如何使用Spring Boot構建一個高效的敏感詞檢查系統,能夠處理多達10萬個敏感詞的檢測需求。我們將使用DFA(Deterministic Finite Automaton)算法來實現高效匹配,并提供RESTful API接口。 實現步驟 1. 創建Spring Boot項…

零構建的快感!dagger.js 與 React Hooks 實現對比,誰更優雅?

“Add Tags” 技術方案并行對比&#xff1a;React Hooks vs dagger.js&#xff08;含核心 JS 代碼&#xff09; 源碼&#xff1a; React Hooks&#xff1a;https://codepen.io/prvnbist/pen/jJzROe?editors1010dagger.js&#xff1a;https://codepen.io/dagger8224/pen/ZErjzw…

矩池云中LLaMA- Factory多機多卡訓練

LLaMA Factory 是一款開源低代碼大模型微調框架&#xff0c;集成了業界最廣泛使用的微調技術&#xff0c;支持通過 Web UI 界面零代碼微調大模型&#xff0c;目前已經成為開源社區內最受歡迎的微調框架之一。但是在矩池云上如何使用LLaMA-Factory多機多卡訓練模型呢&#xff1f…

Nginx的反向代理與正向代理及其location的配置說明

一、Nginx中location匹配優先級Nginx中location匹配優先級location支持各種匹配規則&#xff0c;在多個匹配規則下&#xff0c;Nginx對location的處理是有優先級的&#xff0c;優先級高的規則會優先進行處理&#xff1b;而優先級低的規則可能會最后處理或者不進行處理。注意&am…

神經網絡正則化三重奏:Weight Decay, Dropout, 和LayerNorm

正則化是機器學習中防止模型過擬合、提升泛化能力的核心技術。Weight Decay、Dropout和LayerNorm是三種最常用的方法&#xff0c;但它們的工作原理和首要目標截然不同。下面的流程圖揭示了它們的核心區別與聯系&#xff1a; #mermaid-svg-vymek6mFvvfxcWiM {font-family:"…

兩臺電腦通過網線直連共享數據,設置正確,卻互相ping不通的解決方法

因為某些原因&#xff0c;需要兩臺電腦互傳資源&#xff0c;但是某臺電腦可能無法連接外網。如果手頭有根網線&#xff0c;很容易想到通過一根網線連接兩臺電腦互傳數據。 這里先說一下基本的設置&#xff1a; 兩臺電腦最好都關閉防火墻&#xff1b;兩臺電腦都打開專用網絡和公…

面試新紀元:無聲勝有聲,讓AI成為你頸上的智慧伙伴

面試&#xff0c;無論是對于面試官還是求職者&#xff0c;都像一場無聲的戰爭。 一方要精準識人&#xff0c;一方要完美自薦&#xff1b;一方怕問不到點子上&#xff0c;一方怕答不到心坎里。 緊張、遺忘、表達失誤、準備不足……這些問題幾乎每個人都經歷過。 有沒有一種方…

qt-C++筆記之QtDesigner-Creator按鈕圖標與樣式

qt-C筆記之QtDesigner-Creator按鈕圖標與樣式 整理&#xff1a;如何用 .qrc 管理資源、在 Designer/Creator 中為 QPushButton 設置圖標&#xff08;資源或系統主題&#xff09;&#xff0c;以及用樣式表調整文字樣式。涵蓋 C/Qt 與 PySide/PyQt&#xff1b;Linux 桌面優先&am…

maven 常用指令

Maven 是 Java 項目構建和依賴管理的得力助手。這里為你總結了一些常用指令&#xff0c;希望能幫你提升開發效率。下面這個表格匯總了 Maven 最核心和常用的一些命令&#xff1a;命令主要功能典型使用場景mvn clean清理項目&#xff0c;刪除 target 目錄及其所有編譯輸出文件。…