随笔分类 -  Python

摘要:Python 内置封装了很多常见的网络协议的库,因此Python成为了一个强大的网络编程工具,这里是对Python的网络方面编程的一个简单描述... 阅读全文
posted @ 2014-10-29 01:24 gyzhao 阅读(18008) 评论(5) 推荐(17) 编辑
摘要:纯文本只能够实现一些简单有限的功能。如果想要实现自动序列化,也可以使用 shelve 模块和 pickle 模块来实现。但是,如果想要自动的实现数据并发访问,以及更标准... 阅读全文
posted @ 2014-10-22 22:50 gyzhao 阅读(2775) 评论(1) 推荐(2) 编辑
摘要:文件I/O是Python中最重要的技术之一,在Python中对文件进行I/O操作是非常简单的。1. 打开文件使用 open 函数来打开文件,语法如下:open(name[, mode[, buffering]])1.1 文件模式open 函数除了必须提供的文件名参数外,其实还有一个 mode 的模式参数,如果没有指定参数值的话,它的默认值是:r... 阅读全文
posted @ 2013-12-12 09:12 gyzhao 阅读(6164) 评论(0) 推荐(7) 编辑
摘要:正表达式就是一段匹配文本片段的模式,在Python 中 re 模块包含了对正则表达式(regular expression)的支持。1. 正则表达式的基本概念1. 通配符点号( . )可以匹配换行符之外的任何单个字符,被称之为通配符。2. 特殊字符转义将有特殊含义的字符作为普通字符使用时需要进行转义。例如想要匹配 python.org时需要将表达式... 阅读全文
posted @ 2013-12-11 00:47 gyzhao 阅读(11934) 评论(0) 推荐(3) 编辑
摘要:安装完Python之后,我们也同时获得了强大的Python标准库,通过使用这些标准库可以为我们节省大量的时间。这里是一些常用标准库的简单说明。更多的标准库的说明,可以参考Python文档sys 模块sys模块能够访问与Python解释器紧密联系的变量和函数... 阅读全文
posted @ 2013-12-07 12:59 gyzhao 阅读(16579) 评论(1) 推荐(5) 编辑
摘要:任何Python程序都可以作为模块导入,只要Python解释器能找到我们定义的模块所在位置即可,一般来讲,在一个模块被导入时,Python解释器会按照下面的步骤进行搜索:在当前所在目录下搜索这个模块在环境变量 PYTHONPATH 中指定的路径列表中依次搜索在Python安装路径中去搜索根据Python的搜索路径的方式,想让Python解释器找到自定义的模块可以使用下面的三种方式... 阅读全文
posted @ 2013-11-24 15:12 gyzhao 阅读(8441) 评论(0) 推荐(3) 编辑
摘要:Python用异常对象(exception object)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。Python中的raise 关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同。raise关键字后面是抛出是一个通用的异常类型(Exception),一般来说抛出的异常越详细越好,Python在exceptions模块内建了很多... 阅读全文
posted @ 2013-11-19 18:45 gyzhao 阅读(29328) 评论(0) 推荐(4) 编辑
摘要:__init__方法是Python内建众多魔法方法(什么是魔法方法?)中最常见的一个,通过这个方法我们可以定义一个对象的初始操作。当构造函数被调用的时候的任何参数都会传递给__init__方法,然后该方法根据这些参数进行对象的初始化工作。 与__init__方法对应的是__del__析构方法,在对象被垃圾回收前调用,除了在进行套接字、文件IO这些非托管资源操作外,一般情况下很少会用到它。重写是继承机制中一个重要的内容,对于应构造方法尤其如此。大多数类型的子类既要初始化自己的部分,也要调用基类的构造方法,因为这保证了对象被正确的初始化... 阅读全文
posted @ 2013-11-18 19:38 gyzhao 阅读(2660) 评论(5) 推荐(6) 编辑
摘要:我们知道Python是一门面向对象的脚本语言。从C#的角度来看:首先Python支持多继承。Python 类型成员通常都是public的,并且所有成员函数都是virtual的(可以直接重写)。在Python 2.2之后,对象的工作方式有了很大的改变,所有导致了在Python 2.x 版本中存在两种形式的类:Python 2.2之前的旧式类,和之后新增的新式类,新式类提供了很多新的特性(比如:super函数、property函数等),如果不需要兼容旧版本的Python代码那么做好使用新式类,在Python中声明新式类有... 阅读全文
posted @ 2013-11-14 20:06 gyzhao 阅读(2956) 评论(2) 推荐(6) 编辑
摘要:函数使用参数来传递信息,而参数类型又基本分为两大类型:可变类型参考和不可变类型参数。不可变类型(字符串、数字和元组等)是不可变的,即无法修改,只能使用新的值来覆盖。使用不可变类型作为函数的参数时:在函数内为参数赋值不会改变其外部变量的值。可变类型参数(列表等)指的是:使用可变的数据结构来作为函数的参数使用。在函数内部修改可变类型参数的值时,会同时改变其外部变量的值(因为它们引用的其实是同一个对象)。如果想避免上面的情况可以对需要作为可变类型的参数的对象复制一个副本,这里是列表可以通过对其进行切片来返回一个新的副本... 阅读全文
posted @ 2013-11-01 11:00 gyzhao 阅读(2222) 评论(2) 推荐(2) 编辑
摘要:Python和其他语言有一个很大的区别在于:Python 使用硬回车来分割语句,使用冒号(:)和缩进来分割代码块。同一层次的语句必须有相同的缩进(每一组这样的语句称为一个块),而C语言风格的编程语言(Java/C#/C++)则使用分号来... 阅读全文
posted @ 2013-10-24 19:30 gyzhao 阅读(4797) 评论(7) 推荐(5) 编辑
摘要:字典是Python内建的六种序列之一。字典作为一种常用的数据结构,字典中的值没有特定顺序,每个值都对应于一个唯一的键。键可以使数字、字符串甚至是元组。1. 创建和使用字典Python中字典可以使... 阅读全文
posted @ 2013-10-20 15:13 gyzhao 阅读(8675) 评论(4) 推荐(4) 编辑
摘要:字符串是零个或多个的字符所组成的序列,字符串是Python内建的6种序列之一,在Python中字符串是不可变的。1. 格式化字符串字符串格式化使用字符串格式化操作符即百分号%来实现。在%左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值(可以是元组或字典等)。注意:如果格式化里面包含了百分号,那么必须使用%%,这样... 阅读全文
posted @ 2013-10-14 20:22 gyzhao 阅读(9196) 评论(2) 推荐(11) 编辑
摘要:序列概览在Python中有六种内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。在这里暂时只讨论列表和元组。列表和元组的主要区别在于:列表可以修改,元组(不可变)不能。1. 通用序列操作所有的序列都可以进行某些特定的操作。这些操作包括:索引(indexing)分片(sliceing)加(adding)乘(multiplying)检查某个元素是否属于这序列(index)计算序列长度(len)找出最大元素和最小元素(min/max)1.1 索引序列中所有元素都是有编号的,索引从0开始递增。使用负数索引时,Python会从右边开始计数... 阅读全文
posted @ 2013-10-10 11:27 gyzhao 阅读(31948) 评论(3) 推荐(20) 编辑
摘要:首先需要到Python的官方网站(http://www.python.org/getit/) 下载安装包,现在Python的发行版分为兼容之前Python程序的Python 2.x版本,和面向未来的Python 3.x。但是二者大部分都是相同的,学习完2.x的版本,完全可以很容易的向3.x版本进行过渡,在这里使用了向下兼容的Python2.x版本,在这里 我使用的是最新版本的Python 2.7.5。1.1 配置环境变量将Python的安装目录添加到系统的环境变量中,在这里Python的默认安装路径是:C:\Python27,按照下面的方法将Python所在路径添加... 阅读全文
posted @ 2013-10-08 18:44 gyzhao 阅读(5532) 评论(10) 推荐(15) 编辑