Python | 基础语法 for 零基础小白
概要: 最近做了一个项目需要用Python编程,然而我在此之前从未接触过,所以在从MATLAB转Python的过程中经历了比较大的痛苦,这些痛苦的来源主要但不限于矩阵操作和语法规。趁着记忆还清晰就把其中一些我认为比较重要或者容易和其他语言弄混的点记录下来,以防遗忘。代码运行环境是anaconda+Python3.7+Jupyter。
关键字: Python; 基础语法
1. tuple, list, ndarray及其转换
和MATLAB不一样,Python的数组似乎非常复杂,有list、tuple和ndarray等多种(所以我个人认为在矩阵操作方面MATLAB要更加方便)。liat和tuple都是Python自带的一种数据格式,其中list是一种有序的集合,可以随时添加和删除其中的元素,而tuple就不可以,一旦初始化之后不可以修改;ndarray是numpy包中的一种数据格式。这三种数据结构的用例如下:
这三者之间也可以相互转换,用例如下:
由此可见,tuple, list和ndarray之间可以实现两两相互转换
2. if-elif-else与真假判断
Python的判断语句和MATLAB不一样在于两点:其一,结束时没有end;其二,判断条件之后有冒号,用例如下:
在Python中,空字符串(""),空list([]),空dict({}),数字0,空tuple(()),字符False和None以及 not True被认为是假,但是需要注意的是" "(字符串中有空格)被认为是真。用例如下:
在Python中,逻辑上的与、或、非是and,or和not,用例如下:
3. for循环
Python的for循环语句也是结束时没有end以及for语句之后有冒号,同时用词也有一点小变化,用例如下:
4. def函数
Python中函数的定义与MATLAB相差较大,主要有3点:其一,关键词是def而不是function;其二,返回值用return返回而不是在函数第一行定义;第三,函数定义的第一行末尾有冒号。用例如下:
5. while, break, continue
Python中的while,break和continue的用法和C中的基本一致,用例如下:
6. list/ndarray与set, 交并差子超
在Python中最常用的数据结构大概就是list和ndarray了,有时候需要用一些集合的基本操作,此时可以将它们转变为集合set,再使用set的自带函数。用例如下:
刚从MATLAB转Python的时候感觉很糟糕,因为Python基础很差,相当于没有学就直接要用,基本是写一行代码要问十次度娘的节奏,。来随着用的次数多了,也就慢慢熟练了。先记这么多,如果后面遇到一些新的会再补充。代码链接在此,密码是71ve。