zoukankan      html  css  js  c++  java
  • 内置函数,匿名函数

    内置函数

    作用域相关

    locals()#返回本地作用域中所有的名字

    globals()#返回全局作用域中的名字

    def func():
        a ,b = 1,2
        print(a,b)
        print(locals())#{'b': 2, 'a': 1}
    print(globals())#{'__name__': '__main__', '__doc__': None, '__package__': None,
    # '__loader__': <_frozen_importlib_external.SourceFileLoader objectat 0x0000000388D7E128>,
    # '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>,
    #  '__file__': 'D:/python/python113天/作业/day11.py', '__cached__': None,
    # 'func': <function func at 0x0000000388D13F28>}

    迭代器生成器相关

    next(迭代器)       #返回迭代器下一个值,相当与__next__()

    iter(可迭代对象)    #得到一个迭代器,相当与__iter__()

    range(1,10,2)    #可迭代对象,不是迭代器

    内存相关

    id(对象)    #得到内存地址
    hash(对象)     #得到对象的hash值,相同可hash的数据的hash值再一次程序执行过程中总是不变的
    不可hash的数据类型:list,dict,set

    进制转换

    bin(10)  #十进制转二进制
    oct(10)  #十进制转八进制
    hex(10)  #十进制转十六进制

    bytes('asd',encoding='utf-8')  #str--->bytes
    bytearray()  #字节数组,修改时可以节省内存,查找位置

    memoryview()  #字节类型的切片,不占内存
    ord('')  #字符转成数字,按utf-8编码转

    计算相关

    divmod(1,2)  #返回商和余数
    round(2.35467,2)  #精确值,保留两位小数
    pow(1,2)  #求1的2次幂
    sum([1,2,3])  #求和
    min((1,2,3),key=abs)  #求最小值,先执行abs函数,再比较最小值
    max((1,2,3))  #求最小值,先执行abs函数,再比较最小值

    其他

    dir(对象)  #查看一个对象拥有的方法
    callable(对象)  #查看对象是否能被调用,是否是函数
    help()  #查看帮助文档,使用方法
    import   #导入模块
    open()  #打开一个文件

    input('提示')  #用户输入
    print(end='',sep='',file='d:jcc.txt')  #自动换行,end='',默认每一行后加回车,sep=''多个值输出时指定分隔符,file='':指定输出文件,默认控制台
    exec('print(123)')  #执行一条python语句,exec没有返回值,执行一些简单流程控制
    eval('1+2+3')  #eval有返回值,执行一些有返回值的简单运算
    compile(code,'','exec')  #编译代码,转换成字节码,exec表示简单流程类编译,single表示交互类编译
    complex  #复数
    float  #浮点数,当小数点位数太多时就会出现输出不准确,二进制转换的原因

    len(对象)  #返回长度
    all([1,2,3,0])  #有任意一个值是false就返回false
    any()  #有任意一个True就是True

    repr('')  #带符号输出
    print(repr('123'))  #输出'123'
    dict()
    set()
    frozenset()#不可变集合

    几个重要的内置函数

    zip

    zip(可迭代对象) 拉链方法

    list1 = [1,2,3]
    list2 = ['a','b','c']
    dic = {'k1':1,'k2':2}#只包含key值
    for i in zip(list2,list1):
        print(i)#把传入的可迭代对象按照索引组成一个个新的元组

    filter

    filter(函数名,可迭代对象)过滤方法,返回符合函数规则的数据

    返回列表中的奇数
    def is_odd(n):
        return n%2==1
    ret = filter(is_odd,[1,2,3,4])

    map

    #map(函数名,可迭代对象)
    #执行前后元素个数不变,值可能发生改变

    res = map(abs,[1,2,3])
    for i in res:
        print(i)#分别取绝对值

    sort

    #sort  在源列表的基础上进行排序
    list1 = [1,3,2,4]
    print(id(list1))
    list2 = list1.sort(key=abs)
    print(id(list2))
    
    
    #sorted 重新生成一个列表,全部返回,占用内存空间
    list1 = [1,3,2,4]
    print(list1)
    list2 = sorted(list1)
    print(list1)
    print(list2)

    reserved

    reversed() #返回一个反转列表的迭代器

    gen = reversed([1,2,3])
    print(gen)#<list_reverseiterator object at 0x0000008C6762F780>
    for i in gen :
        print(i)

    slice()

    slice()#切片规则

    str1 = 'abcdefghijklmopqrstuvwxyz'
    s = slice(1,4)#定义一个切片规则
    print(str1[s])

    匿名函数

    关键字 lambda
    lambda (参数):(返回值)

    sum1 = lambda x,y:x+y
    print(sum1(1,2))
  • 相关阅读:
    GRE3000速记 :苏琪与爱马仕 05
    GRE3000速记 :苏琪与爱马仕 04
    GRE3000速记 :苏琪与爱马仕 03
    GRE3000速记 :苏琪与爱马仕 02
    GRE3000速记 :苏琪与爱马仕 11
    你知道如何安全正确的关闭线程池吗?
    你知道如何安全正确的关闭线程池吗?
    WCF配置后支持通过URL进行http方式调用
    WCF配置后支持通过URL进行http方式调用
    MyCat教程【简单介绍】
  • 原文地址:https://www.cnblogs.com/jiangchengcheng/p/9571481.html
Copyright © 2011-2022 走看看