python有一些常用的内置函数:
数学函数
abs() 获取绝对值
min()求最小值
max()求最大值
hash()获取一个对象(字符串或数值)的哈希值
pow(),c风格的几次方,math.pow(x, y)
sum(),对序列进行求和
round(x[, n])返回浮点数的四舍五入,n表示小数点后预留位数,默认为0.
进制转换
bin()返回一个整型int或long int的二进制表示
oct()将一个整数转换成8进制字符串
hex() 将十进制整数转换为16进制
类型转换
int()将一个字符串或数字传换成整数,int(x, base=10)
float()将整数和字符串转换成浮点数
complex()用于创建一个复数,形如real+imag*j
chr() 将0~255范围内的整数转换为对应的ascii字符
ord() 意义和chr()相反,以字符为参数,返回对应的ascii数值。
bool()将给定参数转换为布尔类型,如果没有参数,返回False。bool是int的子类。
str()将对象转化为适于阅读的形式
列表、元组、字典相关函数
dict() 生成字典,dict()生成空字典,dict(a='e', b='f', c='g'),传入关键字,{'a':'e', 'b':'f', 'c':'g'},dict(zip(['one', 'two', 'three'], [1, 2, 3])),dict([('one', 1), ('two', 2), ('three', 3)])
list()将元组转换为列表
tuple()将列表转换为元组
all(),any()的参数都是元组或列表,区别:all()如果所有元素都不是0、''、False或者iterable为空,返回True,否则返回False;any()如果所有元素为空、0、False则返回False,如果不都为空、0、False,则返回True;all()参数是空列表或空元组,返回True,any()返回False。
slice(stop),或slice(start, stop[, step])实现切片对象。print([1, 2, 3, 4, 5, 6, 7][slice(3)])
filter()用于过滤序列,函数返回filter对象
eg。
def is_odd(n):
return n % 2 == 1
aList = filter(is_odd, [1, 2, 3, 4, 5, 6, 7])
print(list(aList))
迭代相关函数
next(iterator[,defaul]) 返回迭代器的下一个项目。
sorted(iterable, key=None, reverse=False),key用来进行比较的元素,指定可迭代对象的一个元素来进行排序,reverse排序规则,True为降序,False为升序。和list.sort()的区别:sorted会修改原始的list,list.sort()返回为None;另外list.sort()只为list定义,sorted函数可以接受任何iterable。eg:print(sorted({1:'A', 2:"B", 3:"C"}))
iter()用于生成迭代器
面向对象相关函数
setattr(object, name, value),getattr(object, name)用于设置和获取属性,该属性必须存在。hasattr(object, name)用于判断属性是否存在。
delattr(object, attr) 用于删除属性
hasattr(object, attr)用于判断一个对象是否有某一属性
id()用于获取对象的内存地址
isinstance() 用于判断一个对象是否是某一类型,类似type,但type不会认为子类是父类类型,isinstance会认为子类是父类类型
issubclass(B, A)用于判断B是否是A的子类,A、B都是类名
super() 用于调用父类的一个方法
staticmethod修饰符,声明静态方法,类不需要实例化就可以调用该方法。
classmethod修饰符,声明类方法,类方法的第一个参数是cls,和实例方法的self意义相同。如果有继承关系,子类方法调用类方法时,传递的类变量cls时子类,而非父类。
class A:
@classmethod
def cm(cls):
print('类方法调用者:', cls.__name__)
@staticmethod
def sm():
print('静态方法调用')
class B(A):
pass
A.cm()
B.cm()
A.sm()
B.sm()
其它
open()用于打开一个文件,创建一个file对象
format()格式化函数
zip()将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回zip对象。如果各个迭代器的元素个数不一致,则zip对象包含的列表长度与最短的对象相同,利用*号操作符,可以将元组解压为zip对象。
a = [1, 2, 3]
b = ['one', 'two', 'three']
zipped = zip(a, b)
zipList = []
for it in zipped:
print(it)
zipList.append(it)
print(zipList)
for it in zip(*zipList):
print(it)
range(stop)
range(start, stop[,step])
返回可迭代对象,start默认为0,step默认为1。