从零开始学习python(3)——数字类型

数字类型

Python中的数字类型有三种:整数,浮点数和复数。

整数:整数的的概念就不用说了,像1,2,99999都是整数。

浮点数:可以理解为带小数点的数,如0.1,23.3432,10.0都是浮点数。

复数:复数这个概念我们应该是在高中的时候接触到的,复数由两部分组成实部+虚部,如2+3j等,Python中虚部使用j表示的。

在之前介绍运算符的文章中,我有将常用的一些运算符都给列出来,感兴趣的朋友可以前去查看,传送门。同时为了方便说明今天的实例,我将一些用于数字运算的符号在下面列出:

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

实例分析

在IDLE的交互模式下进行测试:

>>> 2 + 3
5
>>> 6 - 3
3
>>> 4 * 3
12
>>> 6 / 2
3.0
>>> 6 // 2
3
>>> 6 % 2
0
>>> - 23
-23
>>> + 34
34
>>> 4 ** 2
16

从结果中看到:6 / 2 = 3.0,这是为什么?明明是整数相除,为什么结果是一个浮点数,这其实是Python内部规定的,即使两个数能够整除结果依然是一个浮点数,那我如果想要一个整数的结果应该怎么办?这时候Python提供了另外一种除法即地板除法。

地板除法:符号是两个斜杠//,此时6 // 2 = 3。为了详细说明地板除法我们需要在测试几个例子:

>>> 3 // 2
1
>>> -3 // 2
-2

地板除法遵循向下取整的原则,取比目标结果小的最大整数,是不会进行四舍五入的,所以3除以2应该等于1.5的结果变成了1,而-3除以2的结果应该等于-1.5的,会取比-1.5小的最小整数,所以是-2

接下来介绍表格中后面几个Python的内建函数(BIF),即built in function。

pow()函数是计算平方的,作用和**几乎一样,但是它还可以传递第三个参数:

>>> pow(4, 2)
16
>>> 4 ** 2
16
>>> pow(4, 2, 5)
1

在传入第三个参数后pow()函数返回的是:4 ** 2 % 5的值,即16除以5的余数1

abs()函数则是返回参数的绝对值,如果参数是复数,则返回它的模:

>>> abs(-123)
123
>>> abs(1 + 2j)
2.23606797749979

复数模的计算方法是:对实部的平方加上虚部的平方的和开平方。

对于后面几个内建函数这里一并进行讨论:

>>> int(123.1)
123
>>> int(123.999)
123
>>> float(123)
123.0
>>> float('123')
123.0
>>> complex(23, 34)
(23+34j)
>>> 1 + 2j.conjugate()
(1-2j)
>>> divmod(7, 2)
(3, 1)
  1. 使用int()函数取整是直接截断小数部分,而仅保留整数部分,不遵循四舍五入的原则的。

  2. float()函数与int()函数一样可以怼数字和字符串进行处理,需要注意的是虽然123123.0在数值上是相等的,但是在Python的确实不同的,因为Python对于整数和浮点数的存放方法不一样。

  3. divmod(x, y)函数返回的分别是x除以y的商,和余数。需要注意的是,它并不会改变xy的值:

    >>> divmod(7, 2)
    (3, 1)
    >>> x = 7
    >>> y = 2
    >>> divmod(x, y)
    (3, 1)
    >>> x
    7
    >>> y
    2
    

小结

以上就是关于Python数字类型的一些简要总结,由于本人也还在学习中,如有不对还请指出,欢迎大家一起交流。

猜你喜欢

转载自blog.csdn.net/m0_46376148/article/details/108506263
今日推荐