Python数字、类型转换和数学运算

数字数据类型用于存储数值。

Python 支持整数、浮点数和复数。它们在 Python 中被定义为 intfloatcomplex 类。

  • int - 保存长度不限的有符号整数。
  • float - 保存浮点小数,其精度可达 15 位小数。
  • complex - 保存复数。

Python 数字数据类型

整数和浮点数通过是否存在小数点来区分。例如,

  • 5 是一个整数
  • 5.42 是一个浮点数。

复数以 x + yj 的形式书写,其中 x 是实部,y 是虚部。

我们可以使用 type() 函数来了解一个变量或值属于哪个类。

让我们看一个例子,

num1 = 5
print(num1, 'is of type', type(num1))

num2 = 5.42
print(num2, 'is of type', type(num2))

num3 = 8+2j
print(num3, 'is of type', type(num3))

输出

5 is of type <class 'int'>
5.42 is of type <class 'float'>
(8+2j) is of type <class 'complex'>

在上面的例子中,我们创建了三个名为 num1num2num3 的变量,其值分别为 55.428+2j

我们还使用了 type() 函数来了解某个变量属于哪个类。因为,

  • 5 是一个整数值,所以 type() 返回 int 作为 num1 的类,即 <class 'int'>
  • 5.42 是一个浮点值,所以 type() 返回 float 作为 num2 的类,即 <class 'float'>
  • 1 + 2j 是一个复数,所以 type() 返回 complex 作为 num3 的类,即 <class 'complex'>

数字系统

我们每天处理的数字属于十进制(基数为 10)数字系统。

但计算机程序员需要使用二进制(基数为 2)、十六进制(基数为 16)和八进制(基数为 8)数字系统。

在 Python 中,我们可以通过在数字前加上适当的前缀来表示这些数字。下表列出了这些前缀。

数字系统 前缀
二进制 0b0B
八进制 0o0O
十六进制 0x0X

这里有一些例子

print(0b1101011)  # prints 107

print(0xFB + 0b10)  # prints 253

print(0o15)  # prints 13

Python 中的类型转换

在编程中,类型转换是把一种类型的数字转换为另一种类型的过程。

像加法、减法这样的运算,如果其中一个操作数是浮点数,会隐式(自动)地将整数转换为浮点数。例如,

print(1 + 2.0) # prints 3.0

在这里,我们可以看到上面 1(整数)被转换成 1.0(浮点数)进行加法运算,结果也是一个浮点数。

显式类型转换

我们也可以使用内置函数如 int()float()complex() 来显式地在类型之间进行转换。这些函数甚至可以从字符串进行转换。

num1 = int(2.3)
print(num1)  # prints 2

num2 = int(-2.8)
print(num2)  # prints -2

num3 = float(5)
print(num3) # prints 5.0

num4 = complex('3+5j')
print(num4)  # prints (3 + 5j)

在这里,当从浮点数转换为整数时,数字会被截断(小数部分被移除)。

同样,当从整数转换为浮点数时,数字后面会加上 .0

要了解更多关于 Python 类型转换的信息,请访问 Python 类型转换


Python Random 模块

Python 提供了 random 模块来生成随机数或从迭代器中随机选择一个项。

首先我们需要导入 random 模块。例如,

import random

print(random.randrange(10, 20))

list1 = ['a', 'b', 'c', 'd', 'e']

# get random item from list1
print(random.choice(list1))

# Shuffle list1
random.shuffle(list1)

# Print the shuffled list1
print(list1)

# Print random element
print(random.random())

输出

15
a
['d', 'b', 'c', 'e', 'a']
0.6716121217631744

要了解更多关于 random 模块的信息,请访问 Python 随机模块


Python 数学

Python 提供了 math 模块来执行不同的数学运算,如三角函数、对数、概率和统计等。例如,

import math

print(math.pi)

print(math.cos(math.pi))

print(math.exp(10))

print(math.log10(1000))

print(math.sinh(1))

print(math.factorial(6))

输出

3.141592653589793
-1.0
22026.465794806718
3.0
1.1752011936438014
720

这里是 Python math 模块中可用的所有函数和属性的完整列表。

在我们结束之前,让我们来测试一下您对 Python 数字、类型转换和数学的了解!您能解决下面的挑战吗?

挑战

编写一个函数来计算圆的面积,并四舍五入到两位小数。

  • 圆的面积使用公式 pi * 半径^2 来计算。
  • 例如,如果半径 = 5,预期的输出是 78.54
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战