Python基础学习第二节——数字类型
本文最后更新于144 天前,其中的信息可能已经过时,如有错误请发送邮件到2442327902@qq.com

经过了上节课对变量和字符串的基础学习,这节课,我们将会学习Python中数字的表示和计算方法。

1.整数(integers):

不含分数部分的数,与数学上的定义相同。在Python中,整数的长度不受限制,因此我们可以进行任意大数的运算。

E.g.

观察上面两次计算,我们可以发现,无论用Python计算的除式是否可以整除,得出的结果都会带有小数。在Python中,我们称带有小数的数为浮点数

2.浮点数(floating point numbers)

浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数

E.g.

观察上面的计算,我们发现,浮点数在进行数学运算的时候产生了误差,这是因为,Python采取了IEEE754的标准来存储浮点数,而这种存储方法选择将十进制数转换为二进制数后再存储,这就导致某些小数在转换为二进制数时会变成无限循环小数,计算机只能存储其近似值,从而导致精度降低甚至是计算出错。

我们都知道,在很多领域,例如航天航空和金融领域中,计算哪怕出现些许的误差都可能会导致无法挽回的后果。因此,为了避免出现这种问题,Python提供了一种精确计算浮点数的方法:

3.Decimal模块:

在Python中,decimal 模块提供了高精度的十进制浮点运算,适用于需要精确计算的场景,如金融计算。

要使用Decimal模块,首先,我们需要导入它:

然后,我们需要调用decimal模块中的Decimal函数来实例化一个对象:

在上图中,我们将浮点数0.1和0.2通过Decimal函数实例化后分别输入到了a和b两个变量中,在这种情况下,我们再对赋值后的变量进行运算,就能够得到这两个浮点数计算的精确值。当然,Decimal函数也可以用于数值的比较:

4.E记法(科学计数法):

科学计数法是一种记录或标志数的科学表示法,把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,a不为分数形式,n为整数)。 在python 中,科学计数法又称为E记法,这种方法采用E符号来简化数的书写,例如:7.8×10⁷可简写为“7.8E+7” 或者“7.8e+7”,式中E(e)前的数代表科学计数法中的a,E(e)后的数代表10的指数n。

E.g.

5.复数(complex numbers):

在python中,复数的实部和虚部的表示方法如下:

如果我们将一个复数赋值给一个变量x,那么我们就可以通过“x.real”和“x.imag”来分别获取这个复数的实部和虚部。

E.g.

要注意的是,通过这种方法获取的实部和虚部都是浮点数。

6.数字之间的运算:

Python支持的常用数字运算如下所示:

操作结果
x + yx加y的结果
x – yx减y的结果
x * yx乘以y的结果
x / yx除以y的结果
x // yx除以y的结果(地板除)
x % yx除以y的余数
– xx的相反数
+ xx本身
abs(x)x的绝对值
int(x)将x转换成整数
float(x)将x转换成浮点数
complex(re,im)返回一个复数,re是实部,im是虚部
c.conjugate(x)返回x的共轭复数
divmod(x,y)返回(x//y,x%y)
pow(x,y)计算x的y次方
x ** y计算x的y次方

图中值得注意的一些特殊运算:

1.x // y:

x除以y的结果,一定是整数,如果不是整数就向下取整。

E.g.

要注意的是,在结果为负数的情况下,结果依然是向下取整。

2.x % y:

当两个数相除能够整除,那么结果就是0,如果不能够整除,得到的结果就是一个数,这个数我们称为余数。

E.g.

实际上,我们不难发现如下的公式:

x==(x//y)*y+(x%y)

也就是说,地板除的结果乘以除数加上余数等于被除数。实际上,在python中就有一个内置函数divmod(x,y),它可以返回两个数地板除的结果和余数的值:

E.g.

3.abs(x):

如果x是实数,那么它返回x的绝对值,如果x是复数,那么它返回x的模:

E.g.

4.pow(x,y)和x**y:

返回x的y次方的值:

E.g.

在通常情况下,这两种函数的运算是等价的,但是pow函数实际上支持第三个参数,形如pow(x,y,z),它得到x的y次方除以z的余数:

E.g.

5.int(x),complex(x),float(x):

分别将x转换成整数,复数和浮点数:

E.g.

要注意的是,int(x)中若x是浮点数,那么它会对x向下取整。实际上,这三个函数当然也可以对字符串进行转换:

E.g.

需要注意的是:

  1. int(x)中若x是字符串,那么字符串中的数一定要是整数;
  2. complex(x)中若x是字符串,那么字符串中的数一定不要有空格。

那么以上就是今天的Python基础学习第二节了(≧∀≦)ゞ

这节相对比较简单,只需要记住一些公式的大概用法就可以了。如果有意见,也欢迎各位在评论区指出!

人生苦短,我学Python~

评论

  1. monkeymoon
    Windows Chrome
    2 月前
    2026-7-05 19:53:21

    啧啧很详细啊O<>O催更up

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
>