今天来将前一段时间学习的Python的知识系统地梳理一遍,接下来开始实际的编程实践了。
一、Python实验环境搭建
使用Python编程,首先要有一个开发环境,如同C/C++上又VS2008家族一样,Linux/MacOS上的部署情况这里不再详述,因为Linux上实在太简单,有vim有python就可以了,一般都会自带python;这里重点来讲述下Windows下的Python部署,一部分参考的著名的Python入门教程http://learnpythonthehardway.org/book/。具体如下:
1. 下载安装代码编辑器,可以使用自带的IDLE,这里推荐使用更加易用的nodepad++,支持多种程序与脚本语言,语法高亮显示,自己写了一个Python脚本,大致情况如下:
2. 配置Windows下的Shell,出于Linux的习惯,大多数程序猿都喜欢敲击命令行的快感,Windows下当然我们可以使用CMD,但是其实Win7也提供了强大的新的命令Shell,即PowerShell,其语法与Linux高度类似,与IDLE更重要地是可以直接进入文件目录创建或修改文件。为了可以在PowerShell中使用Python,比如将Python的路径加入到Windows系统的环境变量PATH中,Win7下【计算机】--【属性】--【高级系统设置】--【环境变量】,找到PATH变量,以';'分隔,添加自己的Python安装路径即可:
然后在【开始】菜单中的【运行】框中输入‘PowerShell’,点击运行即可:
Python的开发还可以使用PyScripter,也是一款不错的Python开发的IDE。
二、Python要点回顾
本部分基于今天重新复习的情况有针对性地梳理各个部分的要点,每部分要点都必须熟练掌握,作为自己使用Python开发的“基石”。
1. 数据结构
任何一门语言的本质都是处理数据,因此数据的存储和命名是最根本的。Python的变量采用弱类型规范,即定义时不需要指明数据类型,由Python根据定义初始化自动判断其类型;Python每个语句的结束没有';',采用缩进格式替代了{}表示语句块;Python处理字符串更加灵活,尤其是是print语句可以直接跟字符串的拼接和以','分隔的多个字符串(变量),如print "This is a test...", str(Username)
因此Python无需记得int\float\double等数据类型,所做的工作只是定义一个变量赋值即可。另一个类似于数组的重要结构是序列,我们最为常用的是可变的列表,不可变的是元祖,比如字符串。可变的列表要掌握以下操作:
(1)读取元素:索引(lst[n]),分片(lst[m:n]);
(2)类型转换:list("Python")
(3)插入元素:分片插入(lst[2:2] = list1),lst.append(),lst.extend(),lst.insert(loc, lst)
(4)删除元素:del lst[n],lst.pop(),lst.remove()
(5)查找元素:lst.index(),lst.find(),IN操作
对于元祖字符串来说,当然不能修改其值了,但是也有一些基本的操作,如str.lower()、str.strip(),str.replace(dst, src)等。更重要的是要明白深浅复制的区别,即浅复制:c=a[:]\c=copy.copy(a);深复制:c=copy.deepcopy(a);b=a只是同一个对象的多个引用。
列表与元祖传送门:http://blog.chinaunix.net/uid-26275986-id-4295124.html
深浅复制传送门:http://blog.chinaunix.net/uid-26275986-id-4297339.html
2. 控制结构与函数
Python也具有三种控制结构,顺序结构、条件结构和循环结构,同C/C++相比比较简单,语法也类似,不再赘述。函数的使用格式也要熟知,但是由于Python是弱类型的,因此函数返回值类型不需要指明,函数参数类型也不需要说明。
控制结构传送门:http://blog.chinaunix.net/uid-26275986-id-4299217.html
函数使用传送门:http://blog.chinaunix.net/uid-26275986-id-4300768.html
3. 文件操作
与文件的交互也是每种语言的重中之重,Python中标准库已经提供了文件读写函数,不需要单独引入模块。基本的打开函数有open(),读写函数有read()/readline()/readlines()和write()/writelines(),文件使用完毕应当关闭文件f.close(),文件指针操作f.tell()/f.seek(offset, loc),loc的规范是【0:文件头;1:当前指针位置;2:文件尾】;
文件操作传送门:http://blog.chinaunix.net/uid-26275986-id-4302764.html
4. 各种模块
-1. 网络编程模块socket
import socket
socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
socket.bind([Host, Port])
socket.listen(5)
socket.accpet() --> Clinet, Client-Address
socket.connect([Host, Port])
send()
read()
close()
SOCKET编程传送门:http://blog.chinaunix.net/uid-26275986-id-4310238.html
-2. import time
time.time()
time.asctime()
-3. random
import random
random.random()
random.uniform(m, n)
-4. re
import re
通配符:'.'
转义符:'\'
字符集:[a-z]
子模式和选择符:p(ython|erl)
子模式的匹配问题
re模块传送门:http://blog.chinaunix.net/uid-26275986-id-4311950.html
-5. urllib
import urllib
urllib.urlopen()
urllib.retrieve(src, dst)
阅读(4442) | 评论(0) | 转发(2) |