Python系列之内置函数

时间:2021-01-09 16:31:19

内置函数

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