最近开始学习Python,早早听说这是一门高效率的编程语言,据说可以用几行代码就实现如Java语言需要写几十行代码才实现的功能,加上这门语言在图像分类等方向应用得很多,所以就提前学习下。
原本计划是看《Head First Python》的,但看了几章,发现看的版本应该讲的是3.x版本的python了,而目前这个版本的python似乎还不够完善,2.x版本的python可以使用更多的第三方库,所以同时打算在[Python | Codecademy](http://www.codecademy.com/en/tracks/python)
这个在线学习网站学习,同时看廖雪峰的官方网站来学习,两个版本的一些语法还是有些不同的,所以这里就打算做点笔记,记录一些需要注意或者比较容易忘记的知识点。
1.基础
因为一开始看的是《Head First Python》,所以下载的python版本是目前最新版,3.3.5的,下载后,在命令行输入 python 即可进入python的交互式环境,如下图所示,这样就可以开始编写python代码了。
当然,也可以使用一些文本编辑器,比如Sublime Text,Notepad++,具体介绍可以看廖雪峰老师的介绍–使用文本编辑器
而目前所用的是在下载python时附带安装的IDLE,
当然还有其他一些比较好的文本编辑器了,这里就不一一列举了。
1.1 缩进
跟之前学习过的一些编程语言,如C,Java,在Python中,采用缩进的方式,一旦没有使用缩进方式,运行程序的时候是会出错的,一般在写if-else语句或者for语句时,都需要使用缩进方式,这里就列出一个if语句的例子:
必须在if,else后面加上“:”,缩进的语句时被视为代码块的。
1.2 注释
在Python中,注释也是分为单行注释和多行注释的,前者用 # 表示,后者则是 “”” “”” ,即使用三个双引号。
1.3 输入和输出
在输入方面,在2.x版本可以使用raw_input()这个函数接受输入,但是在3.x版本这个函数却使用不了,这个就是两个版本的一个不同点;
在输出方面,2.x版本可以这样输出:print ‘Hello world!’,而在3.x版本就必须如此:print (’Hello world!’),必须由括号,否则会报错。
如下图所示:
1.4 数据类型
Python 是一门动态语言,它不需要事先声明变量的类型,当然它和其他编程语言一样,也是有整型,浮点型,布尔型,字符串,其中布尔值是用True 和False 表示的,Python是对大小写敏感的,所以true和false并不是布尔型的值,跟True和False是不一样的。
字符串的表示是有三种方式,分别为:
‘abc’
“accd”
str(3.25)
前两个是采用 ’ 和 ”表示字符串,第三个采用了python的内置函数str(),这是一个可以将其他类型的类型变成字符串的函数。在有时候输出是既包含字符串和非字符,如整数,浮点数的时候,在如Java中,可以直接用+来连接这几个变量,但是python中直接使用是会报错的,必须将非字符串变成字符串才能成功,如下图所示:
另外,python也是可以用转义字符**来转义很多字符的,比如’,“,\,\n等等,另外如果一个字符串中有多个转义的字符,还可以用r’ ‘或者”’ ”’这两种格式。
布尔值除了直接用True和False表示,还可以用and、or和not运算。
关于数据类型和变量,这里借用廖雪峰老师的话来小结一下:
Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。