Straybird’s Blog

A blog for life and study

Python学习笔记

最近开始学习coursera上的python教程,这门课程相当简单,是面向刚接触编程的,对于已经有个编程基础的,可以权当花少量的时间,过一下语法。我学这门课程花的时间也不多,发现python语法中的确有一些不一样的地方,这里记录一下。

缩排

python中识别代码快是用缩进的,值得注意的是要保持缩进的格式一致,一定记得不要将tab和空格混用,否则容易带来很难检查的缩进错误,建议编写python代码时,将编辑器做一些设定,让tab自动成为空格。

值得注意的语法

python中还是有不少语法跟之前接触过的有不少的差别,这里列一些我觉得值得注意的

  1. 语句末尾不需要;作为结束符,有的话会报错
  2. 很多常见的语句都需要用:结尾 比如if/elif/else/if not,try/except,def,while,for...in,且这些语句的内容都不需要用()包起来,我一开始总是习惯性地打括号。
  3. for...in:非常好用,不仅仅对于数组,对于字符串也可以直接使用,遍历起来非常方便。对于文件也非常好用,利用open()打开文件之后,就可以直接用其来遍历文件的内容,如果用read,则是将文件内容读入到字符串中。
  4. 字符串自带的处理函数很丰富,使用dir(str)即可查看内建的字符串函数,很常用的有lstrip()/strip()/rstrip(),split(),startswith()/endswith()等等。
  5. 很好用的in,这里的in不是for...in里面的那个,其可以直接用来判断字符串中是否包含子串,数组中是否包含某元素等,当然对应的还有not in
  6. list很好用,遍历等的方式也都跟字符串保持一致,但字符串本身赋值后就不能修改,修改会报错,其是”不可变的”,而list则可以,其是”可变的”。
  7. 字符串使用split()可以生成listsplit()也可以带参数,指定分割字符串所用的符号,非常好用。
  8. '''可以用作注释用途,但是它不等价于注释。其中的内容可以通过help打印出来。
  9. dictionarylist一个很重要的区别是后者可以保持元素的顺序,而前者不能。对于dictionary而言,for...in:遍历的iteratorkey,使用list(dic),即可转变成list, 当然其值为key,而keys values items也可以将其转变为对应的listget非常有用,其有2个参数,其中第一个参数为key,第二个参数为默认值,也就是如果找到了key,则返回对应的values,如果没有,则返回默认值。
  10. tuplelist的一个区别就是list是可变的,而tuple是可变的。tuple()包围,list[]包围,而 dictionary{}包围。tuple有一个很重要的特性,其可放到表达式的左边同时给多个变量赋值。tuple可以比较大小,因此可以对包含tuplelist进行sort。对dictionaryitems时就是将其变成包含tuplelist,因为可以同时使用keysvalues进行遍历。
  11. python的re模块提供了对正则表达式的支持,使用时只需要import re就可以啦,正则表达式并不是python的一部分,所以这里就不详细介绍了。

is和==

python中判断是否相等,有is==,其中is是判断是否相等,而==则用同时判断值和类型,比如1==1.0返回True,而1 is 1.1返回False。提到is,就不得不提None,None表示参数未定义,一般情况下判断是否为None,都推荐用is

这门公开课也算是跟完了,但是的确是比较基础入门的,想要学习python,还需要更多其他的学习和练习。

Comments