zoukankan      html  css  js  c++  java
  • Python-内置函数

    一、常用内置函数之一 

    help()     #查看帮助文档
    dir()      #返回list,查看当前文件或对象的所有方法和变量名
    vars()     #返回dict,查看当前文件的所有变量名和对应的值,dir()的返回值是vars的key
    import     #调用模块,在一个文件中多次调用同一个模块,该模块只会执行一次
    reload()   #在import之后,可强制再执行一次模块
    type()     #返回变量的数据类型
    map()      #map(function, iter),返回function(iter[i]),结果是一个map类型,可用list()转化
    filter()   #只返回函数值为True的参数
    reduce()   #累加
    zip()      #相当于求一个矩阵的逆,将列变成行
    eval()     #将字符串当成有效的表达式来求值并返回计算结果,或者将字符串转化为相应的对象
    enumerate()#对于可迭代对象,返回每个元素的下标和对应元素

    在一个文件中多次导入同一个模块,该模块只会执行一次

    from imp import reload
    import file  #导入file模块
    import file  #前面两个import只会执行一次file模块
    reload(file) #再次执行file模块

    map(function, iter),结果是map对象,可用list转化

    1、当function的参数只有一个时,返回function( iter[i] )

    2、当function的参数大于一个时,需要传入与参数相同个数的迭代器,返回function(iter1[i], iter2[i], ...)

    def func1(x):
        return x**2
    
    def func2(x, y, z):
        return x+y+z
    
    iter1 = [1,2,3] 
    iter2 = (10,20,30)
    iter3 = iter([100,200,300])
    
    a = map(func1, iter1)
    b = map(func2, iter1, iter2, iter3) #可迭代对象都可以作为入参 

    打印a、b的类型和元素:

    >>> type(a)
    <class 'map'>
    >>> type(b)
    <class 'map'>
    >>> list(a)
    [1, 4, 9]
    >>> list(b)
    [111, 222, 333]

    filter(function, iter),结果是filter对象,可用list转化

    >>> a = filter(lambda x:True if x>0 else False, [1,2,-1,0])
    >>> print(list(a))
    [1, 2]

    reduce(function, iter), 每次取两个值作为入参,再将函数返回值作为下一次循环的其中一个入参

    >>> from functools import reduce
    >>> b = reduce(lambda x, y: x+y, (1, 2, 3, 4))
    >>> c = reduce(lambda x, y: x*y, [1, 2, 3, 4, 5])
    >>> print(b,c)
    10 120

    zip(iter1,iter2, ...),结果是zip对象,可用list转化

    >>> a = zip([1, 2, 3], [4, 5, 6], [7, 8, 9])
    >>> print(list(a))
    [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

    eval(str),将字符串当成有效的表达式来求值并返回计算结果,或者将字符串转化为相应的对象

    >>> str1 = '10*2'
    >>> print(eval(str1))
    20
    
    >>> str2 = '[1,2,3]'
    >>> a = eval(str2); print(a,type(a))
    [1, 2, 3] <class 'list'>
    
    >>> str3 ="{1: 'A', 2: 'B'}"
    >>> b = eval(str3); print(b, type(b))
    {1: 'A', 2: 'B'} <class 'dict'>

    enumerate(iter, index =0),遍历可迭代对象,返回该对象的每一个元素下标及对应元素。 下标默认从0开始

    >>> dict1 = {}
    >>> for k,v in enumerate(['a', 'b', 'c', 'd'], 2):
            dict1[k]=v
    >>> print(dict1) {2: 'a', 3: 'b', 4: 'c', 5: 'd'}

    二、常用内置函数之二

    all()   #入参为可迭代类型(如list,tuple,dict等),元素全部为真时,返回True;否则返回False
    any()   #元素全部为假时,返回False;否则返回True
    abs() #求绝对值 pow() #开N次方 sum() #求和 divmod()#参数分别为被除数、除数;返回一个元组,保存商和余数 max() #求最大值 min() #求最小值
    len() #对容器类型的参数,len()返回元素个数;对字符串,返回占用的字节长度 chr() #ascii码转化为字符 ord() #字符转化为ascii码 hex() #16进制 bin() #2进制 oct() #8进制
  • 相关阅读:
    深入浅出SQL教程之Group by和Having
    AFNetworking3.0 Https P12证书
    C#访问注册表
    One reason for not able to show chinese correctly in installation
    Debugging DLL loading issues with GFLAGS
    RegistryFree COM Registration
    RegistrationFree COM Interop
    net use
    MS UI Automation原来如此
    取景器的视野率和放大倍率
  • 原文地址:https://www.cnblogs.com/jessicaxu/p/7744563.html
Copyright © 2011-2022 走看看