Python数字

一、Python数字类型

在Python中,数字类型可以分为三种:整数(int)、浮点数(float)和复数(complex)。其中,布尔值(bool)是整数的子类型。这些数字类型在Python中非常常见,几乎每个程序都会用到它们。

整数有无限的精度,也就是说可以表示任意大的整数,例如:

x = 12345678901234567890
print(x) # 输出:12345678901234567890

浮点数通常使用C语言中的double类型实现,其精度和内部表示法取决于运行程序的机器,可以使用sys.float_info来查看。例如:

import sys

print(sys.float_info) # 输出:<class 'sys.float_info'>,包含浮点数精度和内部表示法信息。

复数包含实部和虚部,分别以一个浮点数表示。可以使用z.real和z.imag方法从一个复数z中提取这两个部分。例如:

z = 3 + 4j
print(z.real) # 输出:3.0
print(z.imag) # 输出:4.0

尝试一些简单的 Python 命令,启动解释器,等待主提示符(>>> )出现。

解释器就像一个交互式的计算器一样,可以执行基本的数值计算。可以输入一个数学表达式,解释器会给出结果。在Python中,可以使用加法运算符(+),减法运算符(-),乘法运算符(*)和除法运算符(/)来执行基本的算术运算。圆括号 (()) 可被用来进行分组。 例如:

>>>2 + 2
4
>>>50 - 5*6
20
>>>(50 - 5*6) / 4
5.0
>>>8 / 5 # division always returns a floating point number
1.6

整数的类型是int;带有小数的类型是float;除法运算符(/)总是返回浮点数。如果进行地板除法并得到一个整数结果,可以使用地板除法运算符(//)。如果计算余数,可以使用取余运算符(%):

>>>17 / 3 # classic division returns a float
5.666666666666667
>>>
>>>17 // 3 # floor division discards the fractional part
5
>>>17 % 3 # the % operator returns the remainder of the division
2
>>>5 * 3 + 2 # floored quotient * divisor + remainder
17

Python还支持用双星号(**)进行乘方运算:

>>>5 ** 2 # 5 squared
25
>>>2 ** 7 # 2 to the power of 7
128

等号(=)用于给变量赋值。在Python中可以创建一个变量并将一个值赋给它,赋值后下一个交互提示符的位置不显示任何结果:

>>>width = 20
>>>height = 5 * 9
>>>width * height
900

如果尝试使用一个未定义的变量,将会引发一个NameError错误:

>>>n # try to access an undefined variable
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined

Python支持与浮点数进行混合运算,会将整数转换为浮点数:

>>>4 * 3.75 - 1
14.0

在交互模式下,之前输出的表达式的结果会赋给一个特殊的变量_,把 Python 当作计算器时,用该变量实现下一步计算更简单,例如:

>>>tax = 12.5 / 100
>>>price = 100.50
>>>price * tax
12.5625
>>>price + _
113.0625
>>>round(_, 2)
113.06

然而,最好将_视为只读变量,不要对其进行显式赋值,否则会创建一个同名的独立局部变量,该变量会屏蔽内置变量。

除了以上三种基本数字类型外,Python标准库还包括其他数字类型,例如Fraction(表示有理数)和Decimal(以用户定制精度表示浮点数)等。在实际开发过程中,我们需要根据不同的需求选择合适的数字类型进行处理。

二、Python数字类型转换

一些常用的数据类型转换函数,它们可以将一个数据转换为指定的数据类型。对数据内置的类型进行转换,只需要将数据类型作为函数名即可。

  • int(x):将x转换为整数类型。如果x是浮点数,将截断小数部分并返回整数部分。如果x是字符串,它必须表示一个合法的整数。
  • float(x):将x转换为浮点数类型。无论x是整数还是字符串,都会转换为相应的浮点数。
  • complex(x):将x转换为复数类型,虚部默认为0。如果x是数字,它将成为复数的实部。
  • complex(x, y):将x和y转换为复数类型,分别作为实部和虚部。x和y可以是数字表达式。

注意:强制数据类型转换可能会导致精度丢失。在一些对精度要求较高的场景中,建议慎用强制数据类型转换。

广告合作
QQ群号:707632017

温馨提示:

1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com。(#改为@)

2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

目录