Python系列之内置函数
内置函数
一、数学运算类:
- abs(a):求绝对值如果参数是个复数则返回复数的模.
a = abs(-1) print(a) >>>1
- compilex([real[, imag]]): 创建一个复数.
ret = complex(1,3) print(ret) >>>(1+3j)
- round(x[, n]) : 四舍五入.
ret = round(5.34123) print(ret) >>>5
- divmod(a, b): 返回商和余数.
ret = divmod(16,2) print(ret) >>>(8,0)
- float([x]) : 将一个字符串或者数字转换为浮点数,如果无参数返回0.0 .
ret = float() print(ret) >>>0 ret = float(666) print(ret) >>>666.0
- int([x[, base]]) : 将一个字符转换为10进制,base表示进制.
ret = int('0x6e',16) print(ret) >>>110
- pow(x, y[, z]) 返回x的y次幂.
ret = pow(2,10) print(ret) >>>1024
- range([start], stop[, step]) 生成一个序列默认从0开始.
ret = range(5) for i in ret: print(i) >>>0 1 2 3 4
- sum(iterable[, start]) : 求集合的和.
ret = sum(range(5)) print(ret) >>>10
- oct(x) :将一个数字转换为8进制.
ret = oct(9) print(ret) >>>0o11
- hex(x): 将一个数字转换为16进制字符串.
ret = hex(17) print(ret) >>>0x11
- chr(i) :返回整数i对应的ascii字符.
ret = chr(65) print(ret) >>>A
- ord(i):返回一个整数代表字符的Unicode代码.
ret = ord('A') print(ret) >>>A
- bin(x) : 将整数x转换为二进制字符串.
ret = bin(10) print(ret) >>>0b1010
- bool([x]) :将x 转换为Boolean类型
ret = bool(65) print(ret) >>>True
二、集合类操作
- format(value [, format_spec]): 格式化输出字符串 默认从0开始.
ret = "Hello,my name is {0},age{1}" a = ret.format('chengyajun',18) print(a)
- enumerate(sequence [, start = 0]) :返回一个可枚举的对象,该对象的next()方法将返回一个tuple.
li = ['cn','blog','s'] ret = list(enumerate(li)) print(ret) >>>[(0, 'cn'), (1, 'blog'), (2, 's')]
- iter(o[, sentinel]) : 生成一个可以迭代的序列,第二个参数表示分隔符.
li = ['cn','blog','s'] ret = iter(li) print(ret)
- dict([arg]) : 创建一个字典.
dic = {} print(type(dic)) >>><class 'dict'>
- list([iterable]) 创建一个列表.
li = ['cn','blog','s'] print(type(li)) >>><class 'list'>
- str([object]) :转换为string类型.
st= b'\xe7\xa8\x8b\xe4\xba\x9a\xe5\x86\x9b' ret = str(a,encoding='utf-8') >>>程亚军
- tuple([iterable]) : 生成一个tuple类型.
tu = (1,1,'ad') print(type(tu)) >>><class 'tuple'>
- sorted(iterable[, cmp[, key[, reverse]]]): 对集合进行排序.
li = [123,41,234,123,41,4,11] ret = sorted(li) print(ret) >>>[4, 11, 41, 41, 123, 123, 234]
- max(iterable[, args...][key]) : 返回集合中的最大值.
print(max([1,12,3,4,5,6,77])) >>>77
- min(iterable[, args...][key]) : 返回集合中的最小值.
print(min([1,12,3,4,5,6,77])) >>>1
三、逻辑判断
- all(iterable) : 集合中的元素都为真的时候为真,否则为假. 为假的有:'',[],{},0,None
ret = all(['qwe',11,'q']) print(ret) >>>True
- any(iterable) : 集合中的元素有一个为真则为真.
ret = any(['',11,'']) print(ret) >>>True
四、反射
- callable(object) :检查对象object是否可调用.
class Foo(object): def text(self): return ('hello') cls = Foo() ret = callable(cls) print(ret) >>>False
- classmethod() :注解,用来说明这个方式是个类方法.
class Foo(object): ''' @classmethod:aaa '''
- compile(source, filename, mode[, flags[, dont_inherit]]) :将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值.
a ='for i in range(4): print(i)' cmpcode = (compile(a ,'','exec')) exec( cmpcode) >>>0 1 2 3
- dir([object]) : 不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。
print(dir(exec)) >>>['__add__', '__class__', '__contains__', '__delattr__'...]
- eval(expression [, globals [, locals]]) :计算表达式expression的值.
print(eval('1+2')) >>>3
- getattr(object, name [, defalut]) 判断object对象是否有name属性,如果有输出属性值,如果没有返回defalut值.
class Foo(object): def __init__(self): self.name = 'hello' def text(self): print('hello') obj = Foo() print(getattr(obj,'name')) >>>hello
- setattr(object, name, value) : 设置属性值.
class Foo(object): def __init__(self): self.name = 'hello' def text(self): print('hello') obj = Foo() setattr(obj, 'name', 123) print(obj.name)
- delattr(object, name) : 删除object 对象名name的属性,如果没有报错.
class Foo(object): def __init__(self): self.name = 'hello' def text(self): print('hello') obj = Foo() # print(obj.name) delattr(obj,'name') #删除属性值 print(obj.name) #输出报错
- filter(function, iterable) :构造一个序列,等价于[ item for item in iterable if function(item)].
b = filter(lambda x:x>3 ,[1,2,3,4,5]) for i in b: print(i) >>> 4, 5
- map(function, iterable, ...) : 遍历每个元素,执行function.
b = map(lambda x:x+100 ,[1,2,3,4,5]) for i in b: print(i) >>>101 102 103 104 105
- next(iterator[, default]) : 类似于iter.__next__().
a = iter('abc') print(a.__next__())
- property([fget[, fset[, fdel[, doc]]]]) :属性访问的包装类,设置后可以通过c.x=value等来访问setter和getter