數字型別
一、數字
Python中數字型別包括:- 整數
- 浮點數
- 複數
- 固定精度的十進位制數
- 有理分數
- 集合
- 布林型別
- 無窮的整數精度
- 各種數字內建函式和模組
二、表示式操作符
算數運算子(a=10,b=20)運算子 | 描述 | 例項 |
---|---|---|
+ | 加 - 兩個物件相加 | a + b 輸出結果 30 |
- | 減 - 得到負數或是一個數減去另一個數 | a - b 輸出結果 -10 |
* | 乘 - 兩個數相乘或是返回一個被重複若干次的字串 | a * b 輸出結果 200 |
/ | 除 - x除以y | b / a 輸出結果 2 |
% | 取模 - 返回除法的餘數 | b % a 輸出結果 0 |
** | 冪 - 返回x的y次冪 | a**b 為10的20次方, 輸出結果 100000000000000000000 |
// | 取整除 - 返回商的整數部分 | 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0 |
運算子 | 描述 | 例項 |
---|---|---|
== | 等於 - 比較物件是否相等 | (a == b) 返回 False。 |
!= | 不等於 - 比較兩個物件是否不相等 | (a != b) 返回 true. |
<> | 不等於 - 比較兩個物件是否不相等 | (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。 |
運算子 | 描述 | 例項 |
---|---|---|
= | 簡單的賦值運算子 | 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 |
運算子 | 描述 | 例項 |
---|---|---|
& | 按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 | (a & b) 輸出結果 12 ,二進位制解釋: 0000 1100 |
| | 按位或運算子:只要對應的二個二進位有一個為1時,結果位就為1。 | (a | 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 |
運算子 | 邏輯表示式 | 描述 | 例項 |
---|---|---|---|
and | x and y | 布林"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。 | (a and b) 返回 20。 |
or | x or y | 布林"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。 | (a or b) 返回 10。 |
not | not x | 布林"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 | not(a and b) 返回 False |
運算子 | 描述 | 例項 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否則返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中沒有找到值返回 True,否則返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
運算子 | 描述 | 例項 |
---|---|---|
is | is 是判斷兩個識別符號是不是引用自一個物件 | x is y, 類似 id(x) == id(y) , 如果引用的是同一個物件則返回 True,否則返回 False |
is not | is not 是判斷兩個識別符號是不是引用自不同物件 | x is not y , 類似 id(a) != id(b)。如果引用的不是同一個物件則返回結果 True,否則返回 False。 |
三、內建數學函式
math函式|常量 | 說明 | 例項 |
---|---|---|
e | 自然常數e |
math.e 2.718281828459045 |
pi | 圓周率π |
math.pi 3.141592653589793 |
acos(x) | 返回x的反三角餘弦值 |
math.acos(math.sqrt(2)/2) 0.7853981633974483 |
acosh(x) | 返回x的反雙曲餘弦函式 | |
asin(x) | 返回x的反三角正弦值 |
math.asin(0.5) 0.5235987755982989 |
asinh(x) | 返回x的反雙曲正弦函式 | |
atan(x) | 返回x的反三角正切值 |
math.atan(1.7320508075688767) 1.0471975511965976 |
atan2(y, x) | 返回x/y的反三角正切值 |
math.atan2(2,1) 1.1071487177940904 |
atanh(x) | 返回x的反雙曲正切函式 | |
ceil(x) | 這個方法對i向上取整,x = 1.3 ,返回值為2 |
math.ceil(5.2) 6.0 |
copysign(x, y) |
若y<0,返回-1乘以x的絕對值; 否則,返回x的絕對值 |
math.copysign(5.2, -1) -5.2 |
cos(x) | 返回x(弧度)的三角餘弦值 |
math.cos(math.radians(45)) 0.7071067811865476 |
cosh(x) | 返回x的雙曲餘弦函式 | |
degrees(x) | 弧度轉度 |
math.degrees(math.pi) 180.0 |
erf(x) | 返回x的誤差函式 | |
erfc(x) | 返回x的餘誤差函式 | |
exp(x) | 返回e的x次方 |
math.exp(2) 7.38905609893065 |
expm1(x) | 返回e的x次方減1 |
math.expm1(2) 6.38905609893065 |
fabs(x) | 返回x的絕對值 |
math.fabs(-5) 5.0 |
factorial(x) | 返回x的階乘 |
math.factorial(5) 120 |
floor(x) | 正好與上面相反,是向下取整。x = 1.4,返回1 |
math.floor(5.8) 5.0 |
fmod(x, y) | 返回x%y(取餘) |
math.fmod(5,2) 1.0 |
frexp(x) | 返回m和i,滿足m乘以2的i次方 |
math.frexp(3) (0.75, 2) |
fsum(iterable) | 返回無損精度的和 |
0.1+0.2+0.3 0.6000000000000001 math.fsum([0.1, 0.2, 0.3]) 0.6 |
gamma(x) | 返回x的伽瑪函式 | |
hypot(x, y) | 返回以x和y為直角邊的斜邊長 |
math.hypot(3,4) 5.0 |
isinf(x) | 若x為無窮大,返回True;否則,返回False |
math.isinf(1.0e+308) False math.isinf(1.0e+309) True |
isnan(x) | 若x不是數字,返回True;否則,返回False |
math.isnan(1.2e3) False |
ldexp(x, i) | 返回x乘以2的i次方 |
math.ldexp(0.75, 2) 3.0 |
lgamma(x) | 返回x的絕對值的自然對數的伽瑪函式 | |
log(x, base=None) | 返回x的以base為底的對數,base預設為e |
math.log(math.e) 1.0 math.log(2, 10) 0.30102999566398114 |
log10(x) | 返回x的以10為底的對數 |
math.log10(2) 0.30102999566398114 |
log1p(x) | 返回1+x的自然對數(以e為底) |
math.log1p(math.e-1) 1.0 |
modf(x) | 返回x的小數和整數 |
math.modf(5.2) (0.20000000000000018, 5.0) |
pow(x, y) | 返回x的y次方 |
math.pow(5,3) 125.0 |
radians(x) | 度轉弧度 |
math.radians(45) 0.7853981633974483 |
sin(x) | 返回x(弧度)的三角正弦值 |
math.sin(math.radians(30)) 0.49999999999999994 |
sinh(x) | 返回x的雙曲正弦函式 | |
sqrt(x) | 返回x的平方根 |
math.sqrt(3) 1.7320508075688772 |
tan(x) | 返回x(弧度)的三角正切值 |
math.tan(math.radians(60)) 1.7320508075688767 |
tanh(x) | 返回x的雙曲正切函式 | |
trunc(x) | 返回x的整數部分 |
math.trunc(5.8) 5 |
函式|常量 | 說明 | 例項 |
---|---|---|
random | 用於生成一個0到1的隨機符點數0 <= n < 1.0 | |
uniform |
原型:random.uniform(a, b) 用於生成一個指定範圍內的隨機符點數,兩個引數其中一個是上限,一個是下限。 如果a > b,則生成的隨機數n: a <= n <= b。 如果 a <b, 則 b <= n <= a。 |
print random.uniform(10, 20) print random.uniform(20, 10) #---- 結果(不同機器上的結果不一樣) #18.7356606526 #12.5798298022 |
randint |
原型:random.randint(a, b) 用於生成一個指定範圍內的整數。 其中引數a是下限,引數b是上限,生成的隨機數n: a <= n <= b |
print random.randint(12, 20) #結果永遠是20
#print random.randint(20, 10) |
randrange |
原型:random.randrange([start], stop[, step]) 從指定範圍內,按指定基數遞增的集合中獲取一個隨機數。 |
random.randrange(10, 100, 2) 結果相當於從[10, 12, 14, 16, ... 96, 98]序列中獲取一個隨機數。在結果上與 random.choice(range(10, 100, 2) 等效。 |
choice |
random.choice從序列中獲取一個隨機元素。 原型:random.choice(sequence) 引數sequence表示一個有序型別。 sequence在python中是泛指一系列的型別。list, tuple, 字串都屬於sequence。 |
print random.choice("學習Python") print random.choice(["JGood", "is", "a", "handsome", "boy"]) print random.choice(("Tuple", "List", "Dict")) |
shuffle |
原型:random.shuffle(x[, random]) |
p = ["Python", "is", "powerful", "simple", "and so on..."] random.shuffle(p) print p #---- 結果(不同機器上的結果可能不一樣。) #['powerful', 'simple', 'is', 'Python', 'and so on...'] |
sample |
原型:random.sample(sequence, k) 從指定序列中隨機獲取指定長度的片斷。sample函式不會修改原有序列。 |
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] slice = random.sample(list, 5) #從list中隨機獲取5個元素,作為一個片斷返回 print slice print list #原有序列並沒有改變。 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24851054/viewspace-2146214/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- javascript型別系統——Number數字型別JavaScript型別
- Python數字型別有哪些Python型別
- java中數字型別轉換Java型別
- Python基礎(01):數字型別Python型別
- PostgreSQLMySQL相容性之-數字型別MySql型別
- 表單填寫數字型別驗證型別
- javaScript中Number數字型別方法入門JavaScript型別
- 數字型別的不正確轉換漏洞型別
- 【BBED】使用bbed修改數字型別資料型別
- Java下數字型別的轉換 (轉)Java型別
- 正規表示式數字數字型別驗證程式碼型別
- 字串:怎樣轉換字串為數字型別? (轉)字串型別
- js判斷變數是不是數字型別程式碼例項JS變數型別
- Oracle基本資料型別儲存格式淺析(二)——數字型別Oracle資料型別
- python數字型別是什麼?主要包括幾種?Python型別
- 字串:怎樣將數字型別轉換為字串 (轉)字串型別
- 利用符號進行的型別轉換,轉換成數字型別 ~~符號型別
- Python程式哪幾部分組成?包含哪些數字型別?Python型別
- MySQL數字型別int與tinyint、float與decimal如何選擇MySql型別Decimal
- ORACLE 數字型別(number)的值長時,科學計數顯示問題Oracle型別
- input,select, v-model 繫結的值為數字型別型別
- 關於mysql字元和數字型別轉換的問題研究MySql字元型別
- 深入Go語言文字型別Go型別
- 「Adobe國際認證」字型與字型有區別嗎?字型區別的真正“奧義”秘籍,你掌握了嗎!
- CAPL指令碼中常用到的資料型別轉換——數字型別(int/double)和字串型別(char array)指令碼資料型別字串
- Serif 和 Sans Serif 字型的區別
- c#文字型別控制元件C#型別控制元件
- python 採用pandas的DataFrame實現對數字型別用均值填補和分類型別用眾數填補Python型別
- lodash裡to系列之將資料轉換成數字型別實現示例詳解型別
- 【Python】模擬windows檔名排序(自動處理檔名中有數字型別排序)PythonWindows排序型別
- python 判斷變數是數字型還是字元型Python變數字元
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- 《從零開始學Swift》學習筆記(Day 15)——請注意數字型別之間的轉換Swift筆記型別
- excel 計算文字型數學表示式 用 evaluateExcel
- 7個幫助識別未知字型的線上工具
- CSS 字型新玩法之彩色字型CSS
- CSS 凹凸字型和發光字型CSS
- SQL隱碼攻擊之字元型和數字型注入SQL字元