Python学习day02_数字类型 与 布尔类型 短路逻辑和运算符优先级
目錄
- 一、數字類型
- 1.1 整數 integers
- 1.2 浮點數 floating point numbers
- 1.3 復數 complex numbers
- 1.5 數字運算
- 二、布爾類型 Boolean
- 邏輯運算符 Boolean Operation
- 三、短路邏輯
- 四、運算符優先級 Operator precedence
一、數字類型
1.1 整數 integers
python整數長度是不受限制的,有無限大的精度,可以隨時隨地進行大數運算:
小數在python中是以浮點數的形式存放的。
1.2 浮點數 floating point numbers
由上可見,python的浮點數是有誤差的,是因為python和C語言一樣都是采用IEEE754的標準來存儲浮點數的,所以會產生一定程度的誤差。
要想精確計算浮點數,就要使用到decimal
E記法:科學計數法,用來表示一些比較極端的數,例如以下5e-05 = 5 * 10^-5
1.3 復數 complex numbers
復數包含一個實部和一個虛部,例如以下 1 表示實部, 2j 表示虛部,都是以浮點數形式存放。
若將一個復數賦值給變量x,可以通過 x.real 來獲取它的實部數值,通過 x.imag 來獲取虛部數值,且都是浮點數:
1.5 數字運算
python支持的數字運算:
地板除: 取比目標結果小的最大整數,即向下取整。
x % y: x除以y的余數。
x == (x//y) * y + (x%y)
🌟:地板除的結果??除數 + 余數 = 被除數。
divmod(x, y): 返回(x//y, x%y)
abs(x): x的絕對值,若傳入的是一個復數,則取模。
int(x): 將x轉換成整數,截掉小數部分。
float(x): 將x轉換成浮點數。
complex(re,im): 返回一個復數,re食部,im虛部。引號中不可有空格!
pow(x,y): 計算x的y次方。
x**y: 計算x的y次方。
??:pow(x,y,z): 表示先 x^y, 再用結果對 z 進行取余。
二、布爾類型 Boolean
字符串除了空字符串為False,其他都為True。
數值除了結果為 0 為False,其他都為True。
結果為False的情況可歸為以下幾類:
1.定義為False的對象: None 和 False;
2.值為 0 的數字類型: 0, 0.0, 0j, Decimal(0), Fraction(0,1)
3.空的序列和集合:", (), [], {}, set(), range(0)
tips: Fraction(0,1)表示分子為0,分母為1的有理數。
??:布爾類型是特殊證書類型,所以不可以進行除法運算。
邏輯運算符 Boolean Operation
python中任何對象都能直接進行真值測試(測試該對象的布爾類型值為 True 或 False),用于 if 或 while 語句的條件判斷,也可以作為布爾邏輯運算符的操作數。
三、短路邏輯
and 與 or 遵循 短路邏輯,什么是短路邏輯?
短路邏輯的核心思想:從左往右,只有當第一個操作數的值無法確定邏輯運算的結果時,才對第二個操作數進行求值。
若 and 左邊確定結果為true,還需確定右邊。若 and 左邊結果為false,則不用確定右邊。
若 or 左邊確定結果為true,則不用確定右邊。若 or 左右結果為false,則要確定右邊。
Python不用計算完所有結果再處理,而是直接扔出影響結果的關鍵值。所以以下運算只要到能確定結果那一步就可以停止了:
四、運算符優先級 Operator precedence
所以:
總結
以上是生活随笔為你收集整理的Python学习day02_数字类型 与 布尔类型 短路逻辑和运算符优先级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [数字图像处理]图像去噪初步(1)--均
- 下一篇: FOJ 2105 Digits Coun