• 内置函数,匿名函数


    常用的内置函数:

    1.作用域相关:locals()  globals()  *****

      globals()   获取全局变量的字典

      locals()  获取执行本方法的所在的命名空间内的局部变量的字典

    1.1其他:eval()  exec()  compile()  了解,慎用

      eval()  将字符串类型的代码执行并有返回值

      exec()   将字符串类型代码执行无返回值

      compile()  将字符串类型的代码编译。代码对象能通过exec语句来执行或者eval()进行求值   

    print(eval("1+2"))  #3
    print(exec("1+2"))  #None
    print(exec("print('1+2')")) #1+2   None

    2.输入输出相关:input()  print()*****  

    input()  输入

    s = input("请输入内容")  #输入的内容赋值给s
    print(s)        #输入什么打印什么,类型为str

    print()  输出  看源码

    def print(self, *args, sep=' ', end='
    ', file=None): # known special case of print
        """
        print(value, ..., sep=' ', end='
    ', file=sys.stdout, flush=False)
        file:  默认是输出到屏幕,如果设置为文件句柄,输出到文件
        sep:   打印多个值之间的分隔符,默认为空格
        end:   每一次打印的结尾,默认为换行符
        flush: 立即把内容输出到流文件,不作缓存
        """
    
    print源码剖析
    f = open("tmp_file","w")
    print(123,234,345,sep=",",file=f)  将123,234,345,以逗号隔开,写入文件tmp_file文件中

    3.数据类型相关:type()  返回变量的数据类型  *****

    4.内存相关: id()  hash()  ***

    id(o)  o是参数,返回一个变量的内存地址

    hash(o) o是参数,返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错。

    文件操作相关: open()  *****

      open()  打开一个文件,返回一个文件操作符(文件句柄)

    操作文件的模式有r,w,a,r+,w+,a+共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)  可以用encoding指定编码

    模块操作相关  

    __import__导入一个模块

    import time

    和调用相关  callable(o)  o是参数,看这个变量是不是可调用  dir()

    如果o是一个函数名,就会返回True

    def func():pass
    print(callable(func))   #True  #参数为函数名
    print(callable(123))    #False #数字不能调用

    dir() 返回一个列表,默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

    和数字相关:

    数据类型相关:bool,int,float,complex

    进制转换相关:bin(十转二)oct(十转八),hex(十转十六)

    数学运算:abs(绝对值),divmod(返回(除,余)),min(最小),max(最大),sum(求和),round(小数精确),pow(幂运算)

    abs()返回数字的绝对值

    round()  保留浮点数的小数位数,默认保留整数

    divmod(除数,被除数):计算除数与被除数的结果,返回一个包含商和余数的元组

    pow() 求某个数的几次方

    print(abs(-5) )      #5
    print(divmod(12,5))     #(2,2)  商为2,余数为2
    print(round(7*3.235,2))   #22.64  #(保留俩位小数
    print(pow(3,2))     #9  #3的2次方

    sum(可迭代对象,初始值(默认=0))  求和,

    min(可迭代 对象,key)返回可迭代对象的最小值

    max(可迭代对象,key)返回可迭代对象的最大值,可以通过自定义函数规则来进行

    相关内置函数  reversed() 翻转     并返回翻转序列的迭代器

      slice()  构造一个切片模板,用于对许多列表进行相同的切片

    li = ['a','b','c','d','e','f','g']
    sli_obj = slice(3)
    print(li[sli_obj])

    字符串相关

      str  将数据类型转换成字符串类型

      format 与具体数据相关,用于计算各种小数

      bytes  用于不同编码之间的转化,只能单向转化

      repr  返回一个对象的string的形式(原形毕露)

    b = "123"
    print(b)        #123
    print(repr(b))  #'123'

    数据集合  dict  set   

    frozenset(返回一个冻结集合,冻结后的集合不能添加任何元素)

    相关内置函数:

      len()  返回一个对象中元素的个数

      sorted: 对所有可迭代的对象进行排序操作

    l1 = [("c",20),("b",50),("a",10)]
    l2 = sorted(l1,key=lambda x:x[1])
    print(l2)   #[('a', 10), ('c', 20), ('b', 50)]

      enumerate:枚举,返回一个枚举对象

      all:可迭代对象中,全是True才返回True  (用于判断可迭代对象中是否有空的字符,列表)

      any:可迭代对象中,有一个True就返回True

    zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

    l1 = [1,2,3,5,6,7]
    tu1 = ('alex','太白', 'wusir', '女神')
    dic = {'name': '日天', 'age':28, 'hobby': 'tea', 'weight':100}
    l2 = zip(l1,tu1,dic)
    for i in l2:
        print(i)
    #(1, 'alex', 'name')    (2, '太白', 'age') (3, 'wusir', 'hobby')  (5, '女神', 'weight')

    filter(函数,可迭代对象) 过滤,迭代器  与函数生成器的筛选模式相同

    l1 = list((i for i in range(10) if i%2==0))
    print(l1)   #[0, 2, 4, 6, 8]
    def func1(x):
        return x % 2 == 0
    print(list(filter(func1,l1)))   #转换成列表的形式[0, 2, 4, 6, 8]
    #filter     生成的是迭代器

    map(函数,可迭代对象)会根据提供的函数对可迭代对象进行映射  迭代器  循环模式  与函数生成器的循环模式相同

    l1 = [1,2,3,4]
    print(list((i**2 for i in l1)) ) # [1, 4, 9, 16]
    def func(x): return x**2
    print(list(map(func,l1)))   #[1, 4, 9, 16]

    匿名函数 :lambda表达式

      对于简单的函数进行缩写,有且只有返回值得函数才可以进用匿名函数进行简化,又称一行函数

     

  • 相关阅读:
    深入理解C++的动态绑定和静态绑定
    【转载】“惊群”,看看nginx是怎么解决它的
    352. Data Stream as Disjoint Intervals
    lambda
    auto
    sizeof(类)
    private是自己私有的,protected是可以让孩子知道的,public是公开的
    【转载】C++ typedef用法小结
    string char * const char *之间的互相转换
    【转载】Web Service 的工作原理
  • 原文地址:https://www.cnblogs.com/yuncong/p/9512735.html
Copyright © 2020-2023  润新知