《Python数学编程》学习笔记第一章——处理数字

发布时间 2023-03-30 23:25:34作者: xzqbear

开始学习的准备

由于全书都会涉及到类似matplotlib这样的数学统计库,本笔记的代码都在anaconda上的spyder编写并保证在anaconda上编译通过。也可以用pycharm和vscode,但是要注意应把相关的库先安装好。

基本运算

四则运算,乘方和取余

四则运算和乘方较为简单,在此不再赘述。

a=2+3
b=3-4
c=2*3
d=2/3
e=2**3

取余运算:

f=-3%2

C++和Python的取余运算都是r=a-n*(a/n),但是Python在a/n里面出现负数的时
候会与C++不一样,它在结果方面会向负无穷取整,例如-2.75,python就会取整成
-3.而C++的结果则是-2.

分数运算

Python里面的分数运算在使用之前我们需要导入fractions库。

from fractions import Fraction

在实际编写的时候分数写为以下形式:

b=Fraction(1,3)	#输出的时候也会是Fraction(1,3)

分数支持四则运算,可以和整数与浮点数计算,但是输出结果会有所不同。如果分数和整数运算,那么输出的结果将会是分数,但是分数和浮点数计算,输出结果将会是浮点数
分数也支持输入,我们在输入的时候形式是类似1/3的:

a = Fraction(input('Enter a fraction:'))

复数运算

接下来是复数运算,Python当中的虚数单位为j,我们使用复数之前需要导入cmath数学库。

import cmath

定义复数有以下两种方式:

c = complex(3,2)     # 复数的第一种定义方式
d = 3+2j             # 复数的第二种定义方式

四则运算之后得到的结果为复数,Python里面也提供了复数的一些特有的操作,包括:取模,求共轭,取实部虚部:

print(c.real)        # 可以用real和img取实部和虚部
print(d.conjugate()) # conjugate函数可取共轭
e = abs(c)             # abs()函数可以返回复数的模

我们也可以利用input函数输入复数,格式同分数。

format函数

本书在本章最后讲了format函数的用法:

item1 = 'Fucking'
item2 = 'high'
print('I love {0},{0} makes me {1}.{2:.2f}'.format(item1,item2,1.3332))
# 上面的代码中0,1都是标签的名字。注意标签种类应该和format键入值相等,.2f表示两位浮点数。