zoukankan      html  css  js  c++  java
  • 十九、python内置函数汇总

    '''
    内置函数
    abs():取绝对值
    all():每个元素都为真,才是真any():有一个元素为真即为真
    bin():十进制转二进制
    hex():十进制转十六进制
    int():所有的转成十进制
    oct():十进制转八进制
    bool():空,空列表,字典。。。都是false,其他都为true
    bytes():字符串转化成字节,gbk的占2个字节,utf8占3个字节
    dir():快速找出内涵的功能
    chr():参数是0-256之间的一个整数,返回值是对应当前整数的ascii
    ord():参数是ascii字符,返回值是对应的十进制整数
    help():
    enumerate():为列表循环时,自增一列
    eval():函数用来执行一个字符串表达式,并返回表达式的值
    exec():执行字符串表达式,无返回值
    filter():过滤序列
    map():会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
    globals():函数会以字典类型返回当前位置的全部全局变量。,包括所有导入的变量
    locals(): 函数会以字典类型返回当前位置的全部局部变量。
    id():查看对象的内存地址
    isinstance():函数来判断一个对象是否是一个已知的类型,类似 type()。
    max():返回给定参数的最大值,参数可以为序列
    min():返回给定参数的最小值,参数可以为序列。
    sum():对系列进行求和计算。
    pow() 方法返回 xy(x的y次方) 的值。
    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
    '''
    #eval()
    # x=7
    # print (eval('3*x'))
    # print (eval('pow(2,2)'))
    # print (eval('2+2'))
    #exec()
    #
    '''
    1.exec(object[, globals[, locals]])
    object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。
    globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。
    locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。
    '''
    # exec('print ("hello world")') #执行单行字符串
    # exec("""for i in range(5):
    # print (i)""") #多行语句执行
    #
    # x=10
    # expr="""
    # sum=0
    # z=30
    # sum=x+y+z
    # print (sum)
    # """
    # def func():
    # y=20
    # exec(expr)
    # exec(expr,{'x':1,'y':11})
    # exec(expr,{'x':1,'y':2},{'y':3,'z':4})
    #func()
    ============================================================================================
    2.类似于filter
    # result=[]
    # def MyFilter(fun,seq):
    # for i in seq:
    # ret=fun(i)
    # print (ret)
    # def f1(x):
    # for i in x:
    # if i%2==1:
    # #print (x)
    # return i
    # r=MyFilter(f1,[11,22,33,44,55,66])
    # print (r)
    ============================================================================================
    3.map()
    def square(x):
    return x**2 #计算平方
    r=map(square,[1,3,5,7,9])
    print (r) #python返回的是一个迭代器,python返回的是列表
    ret=[]
    for i in r:
    ret.append(i)
    print (ret)

    p=map(lambda x:x**2,[3,5,9])
    print (p)
    for i in p:
    print (i)
    seq=[]
    m=map(lambda x,y:x+y,[1,2,3,4,5,6],[6,5,4,3,2,1])
    print (m)
    for i in m:
    seq.append(i)
    print (seq)
    --------------------------------------------------

        <map object at 0x0000000001E9FFD0>    #(python3执行结果)                [1, 9, 25, 49, 81](python2执行结果)
        [1, 9, 25, 49, 81]

        <map object at 0x00000000028F4160>
        9
        25
        81
        <map object at 0x00000000028F45C0>
        [7, 7, 7, 7, 7, 7]

    ============================================================================================
    4.globals和locals()
    a='root'
    print (globals())

    def func(x):
    b=1
    print (locals())
    func(3)
    -------------------------------------------------

        {'__name__': '__main__', '__doc__': ' 1.lambda表达式 ', '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x0000000001D6B160>, '__spec__': None, '__annotations__': {},      '__builtins__': <module 'builtins' (built-in)>, '__file__': 'D:/zhiliangbaozhangbu/06workspace/chushujin/test-py3/Function/test02.py', '__cached__': None, 'a': 'root'}
        {'b': 1, 'x': 3}

    ============================================================================================
    '''
    5.isinstance():函数来判断一个对象是否是一个已知的类型,类似 type()。
    isinstance() 与 type() 区别:
    type() 不会认为子类是一种父类类型,不考虑继承关系。
    isinstance() 会认为子类是一种父类类型,考虑继承关系。
    如果要判断两个类型是否相同推荐使用 isinstance()。
    '''
    a=2
    print (isinstance(a,int))
    print (isinstance(a,str))
    print (isinstance(a,(int,str,list))) #是元组中的一个返回 True
    class A:
    pass
    class B(A):
    pass
    print (isinstance(A(),A))
    print (type(A())==A)
    print (isinstance(B(),A))
    print (type(B())==A)
    --------------------------------------------------------------------

        True
        False
        True
        True
        True
        True
        False

    ============================================================================================
    '''
    6.sum():对系列进行求和计算。
    sum(iterable[, start]):
    iterable -- 可迭代对象,如:列表、元组、集合。
    start -- 指定相加的参数,如果没有设置这个值,默认为0。
    '''

    print (sum([1,2,3]))
    print (sum([1,2,3,4],5)) #列表求和后,再加5
    print (sum((1,5,6,9),4)) #元祖求和后,再加4
    -------------------------------------------------------

        6
       15
        25

    ============================================================================================
    '''
    7.pow() 方法返回 xy(x的y次方) 的值。
    pow(x, y[, z])
    函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
    注意:pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
    '''
    import math
    print (pow(100,2))
    print (math.pow(100,2)) #float类型
    print (pow(100,2,2))
    print (pow(100,-2))
    -----------------------------------------------------

       10000
       10000.0
       0
       0.0001

    ============================================================================================
    '''
    8.zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
    zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。
    '''

    a=[1,2,3,4]
    b=[2,3,4,5]
    c=[3,4,5]
    ziped=list(zip(a,b))
    print (ziped) #python3返回的是一个对象,需手动list()转换
    #print (zip(a,b)) #python2执行方式
    print (list(zip(a,c)))
    print (list(zip(*ziped))) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
    --------------------------------------------

        [(1, 2), (2, 3), (3, 4), (4, 5)]
        [(1, 3), (2, 4), (3, 5)]
        [(1, 2, 3, 4), (2, 3, 4, 5)]

    ============================================================================================

  • 相关阅读:
    c++ --> #define中的三个特殊符号:#,##,#@
    网络通信 --> ZMQ安装和使用
    利用 mount 指令解决 Read-only file system的问题
    sed学习总结
    Verilog中锁存器与多路选择器
    Debian耳机声音问题
    MM32/STM32中断和事件梳理
    MM32 备份域学习(兼容STM32)
    有限状态机FSM(自动售报机Verilog实现)
    MM32 RTC学习(兼容STM32)
  • 原文地址:https://www.cnblogs.com/chushujin/p/9378240.html
Copyright © 2011-2022 走看看