Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77725
  • 博文数量: 36
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-08 13:58
文章分类
文章存档

2015年(36)

我的朋友

分类: Python/Ruby

2015-10-08 22:16:21

   今天来将前一段时间学习的Python的知识系统地梳理一遍,接下来开始实际的编程实践了。

一、Python实验环境搭建
   使用Python编程,首先要有一个开发环境,如同C/C++上又VS2008家族一样,Linux/MacOS上的部署情况这里不再详述,因为Linux上实在太简单,有vim有python就可以了,一般都会自带python;这里重点来讲述下Windows下的Python部署,一部分参考的著名的Python入门教程。具体如下:
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)

   
阅读(693) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~