由于疫情影响,最近在家中闲了下来。实在是闲来无事,就试图学下Python练练手吧。这里顺便记录下学习笔记和一些其他体会,主要是督促自己,也算是锻炼文笔和写作,最后如果能够给他人带来些许鼓励与帮助的话,那就更好了:
本人基础:用过Matlab(水平极差),用过C++(几年前考过了2级,现在忘光了),Python零基础。。。。。。。
课程的选择:我选择使用“中国大学慕课”(安卓,iOS都有客户端吧)里面北京理工大学 蒿天老师 的mooc教程。
Python版本:3.x
记录的主要是个人学习笔记,由于有过略微的matlab使用经验,因此会侧重于和matlab的区别。
第0周-第1周(对应于mooc课程视频标题)
这两章都是相对基础的内容,不逐节整理笔记了,只记录部分重点(个人认为的):
1.计算机编程的过程必须精准,无歧义。
e.g:1,100,101可能是二进制,十进制,字符串,甚至可能是数组。因此,编程过程中需要注意数据的格式。
2.编译与解释:
程序员所码出来的代码,是可读性相对较好的“源代码”,但计算机cpu最终执行的,是“101100”的“机器码”,可读性就很差了。因此,需要“编译”与“解释”的过程:
编译:一次性将源代码编译成机器码。优点是程序运行速度快,但缺点是改动了源代码后就需要重新进行编译,因而不利于维护优化。采用编译方式的编程语言被称为静态语言,如:C、C++、java等
解释:每次均逐行翻译源代码,便于改动与维护,也便于移植到不同平台,但肯定速度相对较慢。采用解释方式的编程语言也被称为脚本语言。
Python属于脚本语言。
3.Python的格式
3.1 字符块的颜色:并非格式要求,而是为了便于阅读;
3.2 缩进:缩进在Python为格式要求,缩进格式不对可能无法正常运行,此点与matlab不同。通常一级缩进用“四个空格”或“一个tab”;
3.3 注释:“#表示后续一行为注释”;"""和'''表示多行注释,分别用于多行注释的头与尾;
3.4 变量:变量命名可以为字母、数字、下划线、汉字等字符及组合,区分大小写,首字符不可为数字,不能与保留字相同;
3.5 保留字:Python中保留着用于表示一定含义的;区分大小写,共33个;除True、False、None外,其他均为纯小写;
3.6 数据类型:字符串、数字、
3.6.1 列表:用[]表示,其中用“,”进行分隔;Python的索引与matlab不同,首位序号为0!!!Python中同时还提供了反序递减序号,最后一个序号为-1,并往前递减;Python的列表切片也与matlab不同:包前不包后。(e.g:shuzu(0:3)是指列表shuzu中的第0、1、2项,不含第3项)
3.6.2 字符串:字符串可看作一个特殊列表。
3.6.3 数字:分为整数和浮点数;
4 Python程序语句与函数
包含以下几类:赋值语句、条件语句、函数
4.1 赋值语句:通过“=”进行赋值;
4.2 条件语句:判断条件并决定程序运行方向。Python中使用“elif”而非“elseif”;Python中不用加(),但条件语句后需加冒号“:”,条件后为执行的内容,需要加缩进,条件语句结束后不需要“end”,取消缩进就可以了;
4.3 函数:类似于数学中的函数,根据一定的输入,并产生一定输出;
5 作业与考核:
单选就不说了,简述一下程序设计题:
题1:"n"可表示换行,例如“>1”时的输出语句应为:
print("Henllno nWonrlnd")
题2:对于计算来说,计算是不考虑空格的,直接eval然后输出就OK了。