复数的四则运算(复数的分母有理化)
Python是面向对象的编程语言,程序中的一切都可以看作是对象。内置Python对象可以分为简单类型和容器类型。简单类型主要是数字数据,而容器类型是可以包含其他对象类型的集合,如序列、元组、映射等。
在简单类型对象中,Python的数值数据包括int、long、float、complex和bool等。在容器类型对象中,sequence是指一类元素按顺序存储的对象,主要包括字符串、列表、元组等类型。映射是一种通过键访问值的结构。Python中唯一的映射结构是字典对象。除了简单类型和容器类型的对象之外,还有一个称为None的特殊对象,它指的是一个空对象。
所有的对象都有数据属性和内置的方法。对象的方法就是我们经常说的函数,用于执行操作,作用于对象上。对象的属性和方法都可以通过点操作符(.)来调用。
今天,边肖将向大家介绍Python内置对象中的简单类型对象,即数字类型。Python中的数值可以是各种数字,包括整数、长整数、浮点数、复数、布尔型数等等。边肖前天写了一篇关于如何在交互环境下执行Python程序的文章。下图是一些例子。我们先来感受一下数字型物体。
I .常量
Python中的数字常量支持多种格式,我们常见的常量是整型和浮点型。其实Python中也支持科学计数法,常常用科学计数法来表示浮点数,如1.2e-3或1.2E-3表示1.2*10的-3次方。除了默认的十进制数之外,还可以使用二进制、八进制、十六进制来表示常数,不过要在这些数字前边添加前缀以便和十进制数进行区分,二进制、八进制、十六进制的前缀分别是0b、0、0x。Python中的数字常量还支持复数和分数形式,但是在分数运算的时候有个地方需要注意,看下图的例子。
py2版的分数操作
py3版的分数操作
我的朋友们是不是觉得有点不知所措?在py2中,整数除法的结果仍然是整数,是整数而不是舍入。当运算涉及的数字中有一个是浮点数时,Python会自动将另一个数字隐式转换为浮点数,所以第二次运算得到的结果是浮点数。在py3中,除的意思和我们通常看到的一样,而不是取整。换句话说,除法的除数和被除数在py3中转换成浮点数,然后进行除法,最终的商就是浮点数。
Python的操作中还有一个双斜杠//,也代表除法。这种除法可以得到最大整数商。这种划分模式也叫楼层划分。py2支持这种模式。当两个整数相除时,只得到商的整数部分。%代表余数运算符,余数部分可以得到。如下图所示:
楼层划分及余数操作
2。分数
分数包括分子和分母两个部分。在Python中,函数Fraction(x, y)表示分数x/y。在使用该函数之前,需要导入分数模块fractions,分数构建之后,就可以在表达式中使用了。当然,也可以将浮点数字符串转换为分数,如下图所示:
分数分数函数运算
3。布尔
布尔对象只有两个值,即真和假。对于空数据类型,它们的布尔值都是假。一般来说,布尔值经常用于条件判断,通常用作程序分支或循环的测试条件。
4.复数
复数由有理数部分和无理数部分组成。有理数部分称为实数部分,是可选的。无理数部分称为虚部,这是必须的,虚部的后缀一般用j或j表示。 复数也支持常量中的四种运算,在复数之间运行的结果依然是复数,如下图:
复数中的四种运算
数字是最基本的数字类型,无论哪种编程语言都离不开它们。希望朋友们能掌握好,尤其是在分数的操作部分,这个知识点在面试问题中经常遇到。其实这一部分可以看作是两个版本的区别之一。