常用专有属性常用专有属性 | 说明 | 触发方式 |
__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排序)