这里是LeeTioN的CSDN博客 http://blog.csdn.net/wongleetion
早上打开电脑,开始了第一次的Python 学习,参照了Swaroop.C.H 写的《简明Python教程》 此书链接:http://sebug.net/paper/python/index.html
下的软件是Python的集成软件(后来才知道是pythonxy(4.27日补充)),包含了IDLE、Python shell,具体是Python 2.7(一开始下的是3.3,但是查阅了相关资料说V3以上的版本语法上面都会有改变)
刚开始当然是实现万能的hello world 程序,代码很简单
print 'Hello,World!'
如果是3.3的话,则需要加上一对括号
print ('Hello,World!')
接着就是利用Python shell 执行已编辑好的文件,我在这里也碰了一些时间,按照原书讲的话,调用一个已编写好的helloworld.py文件
$ python helloworld.py
这个时候会报错——“SyntaxError: invalid syntax”,几次实践和百度以后,发现还是各种无解,我上午的时候也意识到,helloworld.py的目录没有指明,但就是不会设置工作目录,但是通过windows下面的cmd命令行(因为自己比较熟悉)实现了对*.py文件的编译执行。(当然之前要配好环境变量)cmd命令如图所示(helloworld.py文件放置在Python27目录下)
后来在知道上搜出来一条解决方案,代码是这样的
import sys
sys.path+="C:\Python27"
import helloworld
import 具有添加路径的功能,这样把所要加入的目录用import 实现,即可达到目标。
第二天回去看Python,早上忙于定机票飞广州,下午在卧室躺了几个小时,所以只有晚上几个小时看语法。作为学过C的我,看的还比较快,语法大致相同,就是格式上有点区别,也有几处相对于C来说比较进步,定义变量的时候更为语义化、人性化,比如说定义函数的def关键字、函数形参的默认值构造(对比C++来说,我第一反应就是Python应该没有函数的重载)、for 循环里面的变换应用了一个range 函数、还有输出时候默认的空格符、以及docstrings、我逐渐也感受到编程世界的善意。
前七章很快就过完,第八章开始讲述模块。
第八章主讲模块,关于那条代码看了好半天
if __name__ == '__main__'
根据自己的理解,也就是一个模块自己执行(等于main的时候)和被调用的区别吧,dir()函数还在试验,可惜时间不早了,明早还得赶飞机。先睡觉了。kindle上也有一本教材,去广州闲的时候看看。
4月27日补:
关于dir()函数,括号内的参数是你所需要的模块,比如"sys",也可以不填,不填显示的是当前的模块,比如我在当前模块下定义一个a,在执行命令dir(),就会多显示一个a变量名称,删除a的话再执行函数就没有a,这有点像c语言中的内存调用,可以显示当前环境(在python下就是模块)的变量。
列表初始化
shoplist = ['apple', 'mango', 'carrot', 'banana']
元组初始化
zoo = ('wolf', 'elephant', 'penguin')
字典初始化
ab = { 'Swaroop' : 'swaroopch@byteofpython.info',
'Larry' : 'larry@wall.org',
'Matsumoto' : 'matz@ruby-lang.org',
'Spammer' : 'spammer@hotmail.com'
}
序列初始化
shoplist = ['apple', 'mango', 'carrot', 'banana']
以上是python中一些数据结构概念,放在这里以便今后观察比较和调用。
作为一个高度面向对象的编程语言,之前我接触过c++和java对里面的概念还可以轻松理解,没有接触过的可能会有些吃力,包括构造函数与析构函数(constructor & destructor)
异常处理跟java的异常处理语法结构类似,这里不再赘述。
之后的输入输出都是可以在标准库中查看官方文档来学习的,我这里就稍微过了一下,以后用到的时候再查阅,以提高学习效率。
今后的python学习还是以实战为主,先在网上搜搜视频(今天看了一个关于搜索联想词的爬虫程序,觉得很容易能懂,同时也接触了一些库和正则),去接触更多的模块和库,更多的函数。
总的来说,前面三篇学习加起来还不到12个小时,可以说平时大家抽点空闲时间(不能太短,总要给自己留点时间思考)就可以基本掌握python的语法。