之前接触过Python,但使用不多。最近由于跟UC-Berkeley的Spark入门课程(传送门)和拉取知乎日报的数据需要使用Python,使用过程中经常要搜索、查看文档,比较繁琐,于是将一些常用用法记录一下,供以后翻阅。
常用帮助函数
string
数据类型转换
tuple
tuple是不可变类型,一旦创建就不可再更改
list
list中存的每一个元素可以是任意Python对象。索引从0开始。
set
常见集合操作
dictionary
键必须是不可变类型immutable type (string, number, or tuple)
class
-
使用名为__init__的方法完成初始化
-
使用名为__del__的方法完成析构操作
-
所有的实例方法都拥有一个self参数来传递当前实例,类似this
-
静态方法使用@staticmethod来标记
-
使用__class__来访问类型成员
-
类有一些特殊的属性,比如__doc__类型帮助信息,__name__类型名称,__module__所在模块,__bases__所继承的基类,__dict__类型字典
-
支持多继承,基类的初始化和析构方法要显式调用。继承方法的调用和基类声明顺序有关
-
类包含类型和实例两种成员。在成员名称前面加“__”使其成为私有成员
class定义示例(源自UCBerkeley某个课程的某个网页,记不清了。。删了个别方法定义以控制篇幅):
其他
使用Python实现快速排序的代码很简短,如下:
关于range和xrange:range方法执行返回包含整型数值的list对象,而xrange返回一个生成器,它只有在需要的时候才会生成数值,在需要生成一个很大范围的整型数值集合时,xrange内存效率高。