Python 数字类型:整数、浮点数、复数

2023-09-17 22:14:30

Python 支持三种数字类型来表示数字:整数、浮点数和复数。在这里,您将了解每种数字类型。

Int

在 Python 中,整数是零、正整数或负整数,没有小数部分,具有无限的精度,例如 0、100、-10。 以下是 Python 中的有效整数文本。

#integer variables
x = 0
print(x)
x = 100
print(x)
x = -10
print(x)
x = 1234567890
print(x)
x = 5000000000000000000000000000000000000000000000000000000
print(x)

整数可以是二进制、八进制和十六进制值。

b = 0b11011000 # binary
print(b)
o = 0o12 # octal
print(o)
h = 0x12 # hexadecimal
print(h)

所有整数文本或变量都是 int 类的对象。 使用 type() 方法获取类名,如下所示。

print(type(100))
x=1234567890
print(type(x))
y=5000000000000000000000000000000000000000000000000000000
print(type(y))

注意:Python 中不允许在非零整数中使用前导零,例如 000123 是无效数字,0000 变为 0。

x=001234567890 #syntaxError: invalid token

Python 不允许逗号作为数字分隔符。请改用下划线_作为分隔符。

x = 1_234_567_890
print(x) #output: 1234567890

请注意,整数必须没有小数部分(小数点)。它包括一个小数,然后它成为一个浮点数。

x=5
print(type(x)) #output: <class 'int'>
x=5.0
print(type(x)) #output: <class 'float'>

int()函数将字符串或浮点数转换为 int。

x = int('100')
print(x) #output: 100
y = int('-10')
print(y) #output: -10
z = int(5.5)
print(z) #output: 5
n = int('100', 2)
print(n) #output: 4

二进制

具有 0b 的数字,其中 0 和 1 的组合中有八个数字,表示 Python 中的二进制数。 例如,0b11011000 是等效于整数 216 的二进制数。

x = 0b11011000
print(x)
x = 0b_1101_1000
print(x)
print(type(x))

八进制

前缀为 0o0O 的数字表示八进制数。 例如,0O12 等效于整数 10。

x = 0o12
print(x)
print(type(x))

十六进制

前缀为 0x0X 的数字表示十六进制数。 例如 0x12 等效于整数 18。

x = 0x12
print(x)
print(type(x))

Float

在 Python 中,浮点数(浮点数)是正实数和负实数,其小数部分由十进制符号表示 . 或科学记数法 Ee , 例如 1234.56, 3.142, -1.55, 0.23.

f = 1.2
print(f) #output: 1.2
print(type(f)) #output: <class 'float'>
f=123_42.222_013 #output: 12342.222013
print(f)
f=2e400
print(f) #output: inf

如您所见,浮点数可以用下划线分隔 _ 。 浮点数的最大大小取决于您的系统。超过其最大大小的浮点数称为 inf、Inf、无穷大或无穷大。 例如,对于大多数系统,浮点数2e400将被视为无穷大。

科学记数法用作表示具有许多数字的浮点数的简短表示。 例如: 345.56789 表示为 3.4556789E2 或 3.4556789E2

f = 1e3
print(f) #output: 1000.0
f = 1e5
print(f) #output:100000.0
f = 3.4556789e2
print(f) #output:
print(type(f)) #output:345.56789

使用 float() 函数将字符串、int 转换为浮点数。

f=float('5.5')
print(f) #output: 5.5
f=float('5')
print(f) #output: 5.0
f=float('     -5')
print(f) #output: -5.0
f=float('1e3')
print(f) #output: 1000.0
f=float('-Infinity')
print(f) #output: -inf
f=float('inf')
print(f)  #output: inf
print(type(f)) #output:<class 'float'>

complex 数

复数是具有实部和虚部的数。例如,5 + 6j是一个复数,其中 5 是实数分量,6 乘以 j 是虚分量。

a = 5+2j
print(a)
print(type(a))

必须使用 j 或 J 作为虚部。使用其他字符将引发语法错误。

a=5+2k
a=5+j
a=5i+2j

算术运算符

下表列出了整数值的算术运算符:

运算符描述例子
+ (Addition)在运算符的任一侧添加操作数。a,b = 10, 20
print(a+b) #30
- (Subtraction)从左侧操作数中减去右侧操作数。a,b = 10, 20
print(a-b) #-10
* (Multiplication)将运算符两侧的值相乘。a,b = 10, 20
print(a*b) #200
/ (Division)将左侧操作数除以右侧操作数。a,b = 10, 20
print(b/a) #2.0
% (Modulus)返回左操作数除以右操作数的余数。a,b = 10, 22
print(a+b) #2
** (Exponent)计算左操作数提升为右操作数的值。a=3
print(a**2) #9
print(a**3) #27
// (Floor Division)操作数的除法,其中结果是删除小数点后的数字的商。但是,如果其中一个操作数是负数,则结果是底数,即从零四舍五入(朝负无穷大):a,b = 9, 2
print(a//b) #4

Try it

复数的算术运算

复数的加减法很简单。添加/减去实部和虚部以获得结果。

a=6+4j
b=3+2j
print("a+2=",a+2)
print("a*2=",a*2)
print("a/2=",a/2)
print("a**2=",a**2)
print("a+b=",a+b)
print("a-b=",a-b)

正如您在上面的例子中看到的,算术运算符也可以与两个复数一起使用。

将这两个复数相乘的过程与将两个二项式相乘非常相似。将第一个数字中的每个项乘以第二个数字中的每个项。

a=6+4j             
b=3+2j  
c=a*b   
print(c)
c=(6+4j)*(3+2j)    
print(c)
c=(18+12j+14j+8*1)
print(c)

数值函数

可以使用以下函数将一种类型的数值对象转换为另一种类型:

Built-in Function描述
int从浮点数或包含数字的字符串返回整数对象。
float从包含带小数点或科学记数法的数字的数字或字符串返回浮点数字对象。
complex返回具有实部和虚部的复数。
hex将十进制整数转换为前缀为 0x 的十六进制数。
oct转换带有 0o 前缀的八进制表示形式的十进制整数。
pow返回指定数字的幂。
abs返回数字的绝对值,而不考虑其符号。
round返回舍入数字。