a = 123
b = -123
import sys
print(sys.maxsize)
>>> import sys
>>> print(sys.maxsize)
9223372036854775807
int 型和 float 型數值可以直接進行加減乘除、乘方和取餘等運算,例如:關於單精度和雙精度:C語言中浮點型分為單精度和雙精度兩種。單精度使用 float 定義,雙精度使用 double 定義。在 Turbo C 中單精度型占 4 個位元組(32 位)記憶體空間,其數值範圍為 3.4×10-38~3.4×1038,只能提供七位有效數位。雙精度型占 8 個位元組(64 位)記憶體空間,其數值範圍為 1.7×10-308~1.7×10308,可提供 16 位有效數位。
5 + 4 #加法
4.3 - 2 #減法
3 * 7 #乘法
2 / 4 #除法,得到一個浮點數
2 // 4 #除法,得到一個整數
17 % 3 #取餘
2 ** 5 #乘方
>>> 5 + 4
9
>>> 4.3 - 2
2.3
>>> 3 * 7
21
>>> 2 / 4
0.5
>>> 2 // 4
0
>>> 17 % 3
2
>>> 2 ** 5
32
/
除法總是返回一個浮點數,要獲取整數結果應使用雙除號//
操作符。在混合計算時,Python 會將整數轉換成為浮點數。
from decimal import *
print(getcontext ())
getcontext().prec = 50
print(Decimal(1)/Decimal(9))
print(Decimal(1)/Decimal(19))
print(float(Decimal(1)/Decimal(19)))
>>> from decimal import *
>>> print(getcontext ())
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
>>> getcontext().prec = 50
>>> print(Decimal(1)/Decimal(9))
0.11111111111111111111111111111111111111111111111111
>>> print(Decimal(1)/Decimal(19))
0.052631578947368421052631578947368421052631578947368
>>> print(float(Decimal(1)/Decimal(19)))
0.05263157894736842
round(1.5)
將得到結果“2”。但 round( ) 函數對於內建的資料型別而言,執行結果往往並不像所期待的那樣,如果只有一個數作為引數,當不指定位數的時候,返回的是一個整數,而且是最靠近的整數(類似四捨五入)。
round(2.5)
round(2.675)
>>> round(2.5)
2
>>> round(2.675)
3
round(2.635, 2)
round(2.645, 2)
round(2.655, 2)
round(2.665, 2)
round(2.675, 2)
>>> round(2.635, 2)
2.63
>>> round(2.645, 2)
2.65
>>> round(2.655, 2)
2.65
>>> round(2.665, 2)
2.67
>>> round(2.675, 2)
2.67
from math import ceil, floor
round(2.5)
ceil(2.5)
floor(2.5)
round(2.3)
ceil(2.3)
floor(2.3)
>>> from math import ceil, floor
>>> round(2.5)
2
>>> ceil(2.5)
3
>>> floor(2.5)
2
>>> round(2.3)
2
>>> ceil(2.3)
3
>>> floor(2.3)
2
print(complex(1)) #只有實部1
print(complex(1, 2)) #實部為1,虛部為 2
print(complex('1+2j')) #實部為1,虛部為 2
>>> print(complex(1))
(1+0j)
>>> print(complex(1, 2))
(1+2j)
>>> print(complex('1+2j'))
(1+2j)
complex('1+2j')
而不能寫成complex('1 +2j')
或complex('1 + 2j')
否則會返回 ValueError 異常。