1.class property(fget=None,fset=None,fdel=None,doc=None)
property是一个类,其作用是用来包装类的属性,这个属性可以根据实际需要,控制是否可读(设置fget参数)、可写(设置fset参数)、可删除(设置fdel参数)。
参数doc表示的是属性的说明,如果没有指定,将从fget参数指定的方法中读取。
property更优雅的做法是用作装饰器,装饰过的方法就可以以属性方式调用。同时将生成.setter和.deleter装饰器,用于指定可入方法,删除方法。
不直接使用字段,而使用属性,主要因为可以控制外部对类字段的恶意修改和删除,而且可以再设置属性值的时候进行适当的验证。
2.range(start,stop[,step])
range函数用于生成一个range对象,range类型是一个表示整数范围的类型。
可以直接传入一个结束整数来初始化一个range类型,默认起始值为0(包含0).结束整数可以大于0,也可以小于等于0,但是小于等于0的时候生成的range对象实际是不包含任何元素的。
可以传入一个起始整数和一个结束整数来初始化一个range类型,生成的range类型包含起始整数(包含),和结束整数(不包含)之间的所有整数。
传入了起始整数和结束整数,还可以同时传入一个步进值来初始化一个range类型,生成的range类型包含起始整数(包含),和结束整数(不包含)之间的以步进值筛选后的整数。
初始化range类型时起始整数和结束整数,遵循的是左臂右开原则,即包含起始整数,但不包含结束整数。
range接收的参数都必须是整数,不能是浮点数等其它数据类型。
range实际上是一个不可变的序列类型,可以对它进行取元素、切片等序列操作,但是不能对其中元素修改值。
3.repr(object)
函数功能返回一个对象的字符串表现形式。其功能和str函数比较类似,但是两者也有差异:函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。
repr函数的结果一般能通过eval()求值的方法获取到原对象。
对于一般的类型,对其实例调用repr函数返回的是其所属的类型和被定义的模块,以及内存地址组成的字符串。
如果要改变类型的repr函数显示信息,需要在类型中定义__repr__函数进行控制。
4.reversed(seq)
函数功能是反转一个序列对象,将其元素从后向前颠倒构建成一个新的迭代器。
如果参数不是一个序列对象,则其必须定义一个__reversed__方法。
5.round(number[,ndigits])
round函数用于对浮点数进行四舍五入求值,具体保留几位小数,以传入的ndigits参数来控制。
ndigits参数为可选参数,当不传入时,即以默认保留0位小数进行取整,返回的是整数。
ndigits参数传入0时,虽然与不传入ndigits参数一样保留0位小数进行四舍五入,但是返回的值是浮点型。
ndigits参数小于0时,对整数部分进行四舍五入,ndigits参数控制了对浮点数的整数部分的后几位进行四舍五入,小数部分全部清0,返回类型是浮点数。如果传入的浮点数的整数部分位数小于ndigits参数绝对值,则返回0.0.
round四舍五入时是遵循靠近0原则,所以-0.5和0.5进行0位四舍五入,返回的都是0.
对于浮点数求四舍五入有一个陷阱,有些四舍五入结果不像预期那样,比如round(2.675,2)的结果是2.67而不是预期的2.68,这不是bug,而是浮点数在存储的时候因为位数有限,实际存储的值和显示的值有一定误差。
对整数也能进行round操作,返回值也是整形。
6.class set([iterable])
传入一个可迭代对象,生成一个新的集合。
不传入参数时,生成一个新的空集合。
返回的集合是可以修改的。
7.setattr(object,name,value)
setattr函数和getattr函数是对应的。一个设置对象的属性值,一个获取对象属性值。
函数有3个参数,功能是对参数object对象,设置名为name的属性的属性值为value值。
name属性可以是object对象的一个已经存在的属性,存在的话就会更新其属性值;如果name属性不存在,则对象将创建name名称的属性值,并存储value值。等效于调用object.name = value。
8.class slice(stop)
函数实际上是一个切片类的构造函数,返回一个切片对象。
切片对象由3个属性start、stop、step组成,start和step默认值为None。切片对象主要用于对序列对象进行切片取对应元素。
对应切片对象的3个属性start、stop、step,slice函数也有3个对应的参数start、stop、step,其值分别会付给切片对象的start、stop、step。
9.sorted(iterable[, key][, reverse])
函数功能对一个可迭代对象进行排序,返回一个排序后列表。
函数调用时可以提供一个可选的命名参数key,它是一个方法,默认值是None,用来指定具体排序的算法;函数对可迭代对象每个元素使用key算法后再排序,返回的任然是可迭代对象中的元素。
函数调用时可以提供一个可选的命名参数reverse,它的默认值是False,用来排序结果是否倒转。
10.staticmethod(function)
类中普通的方法,实际上既可以被类直接调用也可以被类的实例对象调用,但是被实例对象调用的时候,要求方法至少有一个参数,而且调用时会将实例对象本身传给第一个参数。
staticmethod函数功能就是将一个方法定义成类的静态方法,正确的方法是使用@staticmethod装饰器,这样在实例对象调用的时候,不会把实例对象本身传入静态方法的第一个参数了。