基本数学运算
直接运用+、—、/、*、//(返回结果为整数)
不同类型的数字
>>> type(1.4781290)
<class 'float'>
>>> type(1830)
<class 'int'>
>>> int(321.34523)
321
>>> float(321)
321.0
分数
需要载入使用fractions模块。模块就是已经有了的程序,我们可以通过调用模块直接使用里面已经有的类、函数以及标签定义等。有些模块是python标准库里就有的,有些则是第三方的,需要我们导入(import)该模块才能使用。而分数模块fractions是标准库的模块,故可以直接调用。
>>> from fractions import Fraction
>>> from fractions import Fraction #从fractions模块中调用Facion类
>>> f = Fraction(3,7) #分子和分母两个参数
>>> f #已创建的对象的格式来显示
Fraction(3, 7)
>>> from fractions import Fraction
>>> f=Fraction(3,4)
>>> f+3.4+21.3
25.450000000000003
平方
>>> b=-897
>>> b**2
804609
>>> b**4
647395642881
>>> b**3
-721734273
>>> b**-1
-0.0011148272017837235
复数
在python中,我们用J/j来标识虚部,在数学符号中我们通常用i来标识。
一样的,当我们对一个复数使用type函数时,Python会告诉我们这是一个什么类型的对象。
>>> type(6+7j)
<class 'complex'>
这样我们就可以对complex()函数定义任意复数
>>> a=complex(7,8)
>>> a
(7+8j)
再进一步,我们可以对复数进行运算
>>> a=complex(7,8)
>>> a
(7+8j)
>>> b=4+9j
>>> a+b
(11+17j)
>>> a*b
(-44+95j)
>>> a-b
(3-1j)
>>> a/b
(1.0309278350515463-0.31958762886597936j)
>>> a//b
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
a//b
TypeError: can't take floor of complex number.
可以看到,取整除法对复数操作无效
对于一个复数,我们可以使用real和image属性来提取它的实部和虚部。
>>> a=2+3j
>>> a
(2+3j)
>>> a.real
2.0
>>> a.imag
3.0
说到复数,就会提到复数的共轭(conjugate),复数的共轭即是与复数具有相同的实部,但是大小相同符号相反的虚部的共轭复数。
通过使用conjugate()函数可以得到
>>> a.conjugate()
(2-3j)
一个复数用x+iy来表示,则复数的模就是根号下x的平方+y的平方
在Python中,可以这样运算:
>>> (a.real**2+a.imag**2)**0.5
3.605551275463989
其实Python中已经有一个简单的函数abs(),当我们使用实数作为参数调用时,abs()函数将返回绝对值。但是使用复数作为参数调用时,
它将返回复数的模。
>>> b=-897
>>> abs(b)
897
>>> abs(a)
3.6055512754639896
标准库中的cmath(c复数)模块已经提供了许多专门的函数用来处理复数。