本片文章主要用于讲解Python的基本语法以及MATLAB用户要格外注意的点

上一篇文章传送门:独特的狂妄:Python 科学计算快速入门1(基础介绍以及环境配置) -- 一个针对MATLAB用户的教程zhuanlan.zhihu.com

基础运算符:

在Python中,基础运算符号包括:

Python 对应的MATLAB

+ +

- -

* * 与 .* (之后有详细说明)

** ^ 与 .^ (之后有详细说明)

/ / 与 ./ (之后有详细说明)

% mod(x, y)

// fix(x / y)

== ==

<= <=

< <

>= >=

> >

!= ~=

其中,部分运算符号是在MATLAB存在的,但是Python没有,这些包括:

' 与 .' (转置,在Python中通过函数实现了)

\ 与 . (左除)

在运算优先级上,两个语言没有显著差别

可以打开JupyterLab试一下,在cell里键入5 + 3,shift + enter,得到

然后试一下x = 5 + 3,把x赋值为5+3,发现输出消失了,不会提示你x等于几已经运行完了

那是因为:

Python语句结构:

在Python中,分号是分割两个句子的。也就意味着,结尾的分号是可加可不加的,在脚本中(类似于MATLAB中的.m文件),它不会控制是否输出当前语句

\ 符号是python的续行符号(在MATLAB中是 ...)

# 用于单行注释(在MATLAB中是 %)

Python的基础变量类型:

在Python中,部分基础变量类型有:int,代表整数,没有任何精度限制,位数越多,使用内存越多。

float,代表浮点数(等同于MATLAB中的double,Python本体不支持单精度浮点数,这里不细讲了)

complex,代表复数。在Python中,复数根不能用 i 表示,必须使用大写或小写 J 表示。

bool,代表布尔值。在Python中,布尔值仅仅包括 True 和 False。判断返回的是布尔值,他们可以看作是 1 和 0 的载体。

string,代表字符串,几乎等同于MATLAB中的string,也不细讲了

Python的int:

Python的int可以近似看作数学上的整数,没有长度限制,所以也没有int8,16,32,64等。

创建整数类型:在Python中,默认的无小数点数字就是整数类型,比如x = 1000就是创建 一个值为1000的整数

Python中的整数与MATLAB相差极大,这里给一个例子来说明一下:

在MATLAB中,x的类型是double,而Python中是int

这个例子体现出来了:Python int的精度是永远精确到个位的,导致占用的内存大小不是恒定的

Python 在创建变量时,如果值是没有小数点的整数,那么默认创建整数变量而不是浮点数

Python 进行判断后返回的是布尔值,而不是0 或 1

Python的Complex:

在python中,创建一个合法的复数需要类似于:

2 + 3j # 是合法复数

1J # 是合法复数,实数部分可以省略,大小写J皆可

# 与MATLAB不同的地方:

2 + j # 不是合法复数,复数部分的常数不能省略

j # 不是合法复数,复数部分的常数不能省略

复数运算和MATLAB相近

Python的类型转换:

与MATLAB不同,类型转换的函数在Python中是与转换前类型无关的

这里还是举一个例子方便大家理解MATLABPython

看到区别了吧

有几点需要注意:Python 的类型转换函数的名称是要转换到的类型,而不是单独的函数

Python 转换为 int 时是舍去小数点!,不是四舍五入!也意味着int(-2.99)是 -2 。假如你要四舍五入,应该使用round(-2.99)