常用专有属性常用专有属性
说明
触发方式
__init__
构造初始化函数
创建实例后,赋值时使用,在__new__后
__new__
生成实例所需属性
创建实例时
__class__
实例所在的类
实例.__class__
__str__
实例字符串表示,可读性
Print(类实例)如没实现,使用repr结果
__repr__
实例字符串表示,准确性
类实例 回车 或者print(repr(类实例))
__del__
析构
Del删除实例
__dict__
实例自定义属性
Vars(实例,__dict__)
__doc__
类文档,子类不能继承
Help(类或实例)
__getattribute__
属性访问拦截器
访问实例属性时
__bases__
类的所有父类构成元素
类名.__bases__
内建函数
1:range与xrange
range在python2中直接创建列表,python3中用意味着使用时在创建,
range(start, stop, step)返回一个递增或递减的数字列表,列表的元素值由三个参数决定:
start表示列表开始的值,可省,默认为“0”
stop表示列表结束的值,该参数不可缺少
参数step表示步长,可省,默认值为“1”
range返回的是一个列表,一次性计算并返回所有的值
xrange是一个类,返回的是一个生成器:
生成器是一个可迭代对象,在对生成器进行迭代时,元素是逐个被创建的
使用xrange()进行遍历,每次遍历只返回一个值
一般来看,在对大序列进行迭代的时候,因为xrange的特性,所以它会比较节约内存
因此,xrange的执行效率要高于range
但在python3中,py2的range功能被移除,xrange功能保留并且改名为range
2:map函数 map函数会根据提供的函数对指定的序列做映射
map(…)
map(function,sequence[,sequence,….])->list
function是一个函数
sequence:是一个或多个序列,取决于function需要的几个参数,为可迭代对象
返回值是一个list
#函数需要有个参数。例如:
Map(lambda x: x*x,[1,4,6])结果为:[1,16,36]
Map(lambda x,y: x+y,[1,2,3],[2,3,4])结果为:[3,5,7]
3: filter函数:进行清洗操作
filter函数 :对指定序列执行过滤操作 filter(function or None,sequence)->list,tuple,or string
function接受一个参数,返回布尔值True或者False sequence序列可以是str,tuple,list
filter函数会对序列的参数sequence中的每个元素调用function函数,最后返回的结果包含调用结果为True的元素 返回值的类型和参数sequence的类型相同
filter(lambda x: x%2,[1,2,3,4]) [1,3] 当结果为True才返回该值
filter(None,”she”) ‘she’
4:reduce函数:实现累加功能
reduce函数:对参数序列中元素进行累计 在python2中可以 python3不适用
reduce(function,sequence[sequcene …..])
reduce(lambda x,t:x+y,[2,3,4]) 返回10(累加功能)
5: sorted函数对可迭代对象进行排序(按照ascii排序)