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))
  • 相关阅读:
    HDU 1075 What Are You Talking About(字典树)
    HDU 1075 What Are You Talking About (stl之map映射)
    HDU 1247 Hat’s Words(字典树活用)
    字典树HihoCoder
    HDU 1277全文检索(字典树)
    HDU 3294 Girls' research(manachar模板题)
    HDU 3294 Girls' research(manachar模板题)
    HDU 4763 Theme Section(KMP灵活应用)
    Ordering Tasks UVA
    Abbott's Revenge UVA
  • 原文地址:https://www.cnblogs.com/jiangchengcheng/p/9571481.html
Copyright © 2011-2022 走看看