最近开始学习coursera上的python教程,这门课程相当简单,是面向刚接触编程的,对于已经有个编程基础的,可以权当花少量的时间,过一下语法。我学这门课程花的时间也不多,发现python语法中的确有一些不一样的地方,这里记录一下。
缩排
python中识别代码快是用缩进的,值得注意的是要保持缩进的格式一致,一定记得不要将tab和空格混用,否则容易带来很难检查的缩进错误,建议编写python代码时,将编辑器做一些设定,让tab自动成为空格。
值得注意的语法
python中还是有不少语法跟之前接触过的有不少的差别,这里列一些我觉得值得注意的
- 语句末尾不需要;作为结束符,有的话会报错
- 很多常见的语句都需要用:结尾 比如
if/elif/else/if not,try/except,def,while,for...in
,且这些语句的内容都不需要用()包起来,我一开始总是习惯性地打括号。 for...in:
非常好用,不仅仅对于数组,对于字符串也可以直接使用,遍历起来非常方便。对于文件也非常好用,利用open()
打开文件之后,就可以直接用其来遍历文件的内容,如果用read
,则是将文件内容读入到字符串中。- 字符串自带的处理函数很丰富,使用
dir(str)
即可查看内建的字符串函数,很常用的有lstrip()/strip()/rstrip()
,split()
,startswith()/endswith()
等等。 - 很好用的
in
,这里的in
不是for...in
里面的那个,其可以直接用来判断字符串中是否包含子串,数组中是否包含某元素等,当然对应的还有not in
。 list
很好用,遍历等的方式也都跟字符串保持一致,但字符串本身赋值后就不能修改,修改会报错,其是”不可变的”,而list
则可以,其是”可变的”。- 字符串使用
split()
可以生成list
,split()
也可以带参数,指定分割字符串所用的符号,非常好用。 '''
可以用作注释用途,但是它不等价于注释。其中的内容可以通过help打印出来。dictionary
和list
一个很重要的区别是后者可以保持元素的顺序,而前者不能。对于dictionary
而言,for...in:
遍历的iterator
是key
,使用list(dic)
,即可转变成list
, 当然其值为key
,而keys
values
items
也可以将其转变为对应的list
。get
非常有用,其有2个参数,其中第一个参数为key
,第二个参数为默认值,也就是如果找到了key
,则返回对应的values
,如果没有,则返回默认值。tuple
和list
的一个区别就是list
是可变的,而tuple
是可变的。tuple
由()
包围,list
由[]
包围,而dictionary
由{}
包围。tuple
有一个很重要的特性,其可放到表达式的左边同时给多个变量赋值。tuple
可以比较大小,因此可以对包含tuple
的list
进行sort
。对dictionary
取items
时就是将其变成包含tuple
的list
,因为可以同时使用keys
和values
进行遍历。- python的re模块提供了对正则表达式的支持,使用时只需要
import re
就可以啦,正则表达式并不是python的一部分,所以这里就不详细介绍了。
is和==
python中判断是否相等,有is
和==
,其中is
是判断是否相等,而==则用同时判断值和类型,比如1==1.0返回True,而1 is 1.1返回False。提到is
,就不得不提None
,None
表示参数未定义,一般情况下判断是否为None
,都推荐用is
。
这门公开课也算是跟完了,但是的确是比较基础入门的,想要学习python,还需要更多其他的学习和练习。