由于本系列内容是基于SAE的,目前SAE支持的Python版本是2.7.3,所以我们先安装这个版本的Python,下载地址:http://www.skycn.com/soft/appid/10554.html
下载完成后双击“python_2.7.3.msi”进入安装界面,路径我们选择“C:\Python27”,然后一路“下一步”就OK了。
安装完成后,下面就是要配置路径了(这个好像在高版本的Pyhon安装过程中已经配置了),我们在本机的环境变量中加入Python的安装路径就OK了(即再Path中加入“C:\Python27”)。
下面我们测试一下Python是否安装成功:在开始菜单中找到“Python 2.7-〉IDLE (Python GUI)”,点击后你会看到一个提示符,这个提示符就使Python的解释器了。我们在“〉〉〉”后面输入“print 'hello'”,回车,如果你看到hello,那么就说明你的Python环境配置成功了!此处需要注意的是,我在开始学习的时候,看得是著名的《简明 Python 教程》,安装的是从官网(http://www.python.org/)上下载的最新本Python3.3,我输入“print 'hello'”却总是抱错,查了资料才知道,3.3的版本语法换了,因该为“print('hello')”,晕死了。
配置好环境,我们就可以开始学习Python了!我强烈推荐大家看《简明Python 教程》http://sebug.net/paper/python/index.html,写得真的是太好了。如果你有一些编成基础,花个周六周日可以看完了。
下面,就来谈谈我的学习心得吧:
第一章:介绍Python,我印象最深的就是:“Python是个简单且聪明的语言”、“它运行时不需要事先编译,是个脚本语言”、“甚至不用声明变量”。
第二章:安装Python,上面已经说了安装环境,这里不再说了。
第三章:最初的步骤,其实我们在上面已经认识了Python的解释器了,至于挑选编辑器的事情,我倒是推荐大家开始的时候就使用Python自带的IDLE就可以了。不过以后再我们正是开发的时候,还是推荐你选择以后拿手的工具吧“欲善其事,必先利其器”吗,这里是一个对比(网上找的),选刀选枪就看你了:
顺便说一下,我用的是“PythonWin”,开始的时候先入为主了,不过我以后享用ulipad试试。
开始阶段,我们学习语法,最好就是用自带的IDLE,下面就用IDLE开发第一个HelloWorld。
运行IDLE,在File菜单中点击“NewWindow”,会弹出一个空白的编辑窗口,然后打上如下代码:
#!/usr/bin/python
# Filename : helloworld.py
print 'Hello World'
点击这个窗口的“Run-〉Run Module”菜单,你会在PythonShell窗口就会看到“Hello World”的结果了。同时我们还注意到了在Python里面是用“#”注释的;是区分大小写的;变量不用声明的;语句结束后可以没有分号(其实有分号也不会错);这里面还有一点非常重要,那就是“确保在每一行的开始字符前没有空格或者制表符”,因为Python是用空格来区分代码段的,因为在Python 中没有C#里面的大括号“{}”。
这一章还介绍了可执行的Python,这里我们不用管了,因为我们是准备用Python开发Web相关或者SAE之类的东西,不用试验了。
第四章:在Python中有4种类型的数——整数、长整数、浮点数和复数。我们估计只能用到前三种,其实在使用的过程中也没有什么太多的体会;然后是字符串,有单引号(')、双引号(")、三引号('''或"""),前面两个在其他语言也都见过,不用说了。我就觉得三引号('''或""")比较牛B,只要用三引号括起来后,里面随便回车,随便引号都可以了,这点比C++和C#强。
print ('''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
''')
转义符依旧用“\”来表示;自然字符串用前缀“r”,如同C#中的“@”,例如:r"Newlines are indicated by \n";Unicode字符串用“u”
变量名遵循其他语言的格式,只是这里的变量不用声明类型了,有点像以前的ASP或者JavaScript,能看懂一下代码,就算这章过关了:
# Filename : var.py
i = 5
print i
i = i + 1
print i
s = '''This is a multi-line string.
This is the second line.'''
print s
第五章:运算符没有什么特别的,加碱乘除,或与非,大小等于,什么的。(http://sebug.net/paper/python/ch05s02.html),至于运算符优先级,表达式和其他语言也一样,只要能看懂这段代码,就可以Pass了:
#!/usr/bin/python
# Filename: expression.py
length = 5
breadth = 2
area = length * breadth
print 'Area is', area
print 'Perimeter is', 2 * (length + breadth)
但是需要注意的是“print 'Area is', area”,这里面不是用+或者&把字符串和变量组合起来了,而是用“,”,开始确实有些不习惯,后来也习惯了,因为这样更像是在写英语(自然语言)。在教程中提到了:
注意Python如何打印“漂亮的”输出。尽管我们没有在'Area is'和变量area之间指定空格,Python自动在那里放了一个空格,这样我们就可以得到一个清晰漂亮的输出,而程序也变得更加易读(因为我们不需要担心输出之间的空格问题)。这是Python如何使程序员的生活变得更加轻松的一个例子。
但问题是,如果我们确实不需要这个空格的时候可就麻烦了,这一点也不是优点。第六章:if、while、for、break、continue语句的用法。
先说if,如果能看懂这段代码,那么也可以Pass继续了。
#!/usr/bin/python
# Filename: if.py
number = 23
guess = int(raw_input('Enter an integer : ')) # raw_input为内建函数,这个字符串被打印在屏幕上,然后等待用户的输入
if guess == number:#条件的后面需要跟上一个“:”
print 'Congratulations, you guessed it.' # New block starts here
print "(but you do not win any prizes!)" # New block ends here
elif guess < number:#这里是else if的简写elif
print 'No, it is a little higher than that' # Another block
# You can do whatever you want in a block ...
else:
print 'No, it is a little lower than that'
# you must have guess > number to reach here
print 'Done'
# This last statement is always executed, after the if statement is executed
#这里注意之前提到的用缩进(空格区分的代码段)
再说while,如果能看懂这段代码,那么也可以Pass继续了。
#!/usr/bin/python
# Filename: while.py
number = 23
running = True
while running:#while的条件后面也要跟上“:”
guess = int(raw_input('Enter an integer : '))
if guess == number:
print 'Congratulations, you guessed it.'
running = False # this causes the while loop to stop
elif guess < number:
print 'No, it is a little higher than that'
else:
print 'No, it is a little lower than that'
else:#while也有else?这个真的不知道是什么用意
print 'The while loop is over.'
# Do anything else you want to do here
print 'Done'
再说for,如果能看懂这段代码,那么也可以Pass继续了。
#!/usr/bin/python
# Filename: for.py
for i in range(1, 5):#for后面依然有一个“:”;range(1,5)等价于for i in [1, 2, 3, 4]
print i
else:# else部分是可选的。如果包含else,它总是在for循环结束后执行一次,除非遇到break语句。
print 'The for loop is over'
再说break,如果能看懂这段代码,那么也可以Pass继续了。
#!/usr/bin/python
# Filename: break.py
while True:
s = raw_input('Enter something : ')
if s == 'quit':
break
print 'Length of the string is', len(s)
print 'Done'
再说continue,如果能看懂这段代码,那么也可以Pass继续了。
#!/usr/bin/python
# Filename: continue.py
while True:
s = raw_input('Enter something : ')
if s == 'quit':
break
if len(s) < 3:
continue
print 'Input is of sufficient length'
# Do other kinds of processing here...
待续.....