• 内置函数与匿名函数


    内置函数

     内置函数是python提供的可以直接调用的函数,截至版本3.6.2,python一共有68个内置函数,根据作用不同可以分为作用域相关、迭代器生成器相关、基础数据类型相关和其他

     作用域相关

     locals(): 以字典的形式返回当前作用域内的内容

    globals():以字典的形式返回全局作用域内的内容

    迭代器生成器相关

    range: 创建一个整数对象,通常用于for循环

    next: 内部实际使用了__next__方法,返回迭代器的下一个项目

    基础数据类型相关

    1. 数字相关

    bool: 将给定参数转化成bool类型,如果没有参数返回False

    int: 将字符串和数字转化成整型,int有三点需要注意

    (1) int转化浮点数是向0取整,int(2.8) = 2, int(-3.9) = -3

    (2) int("0b1101", base=2) = 13,base=2表示字符串中的数字以二进制表示

    (3) int("hey", base=35) = 21349,base=35表示字符串中的数字以35进制表示,这里的有效base范围为2~36(10+26)

     2. 数学运算

    abs:函数返回数字的绝对值。

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

    round:保留浮点数的小数位数,默认保留整数。

    pow:求x**y次幂。(三个参数为x**y的结果对z取余)

    print(abs(-5))  # 5
    
    print(divmod(7,2))  # (3, 1)
    
    print(round(7/3,2))  # 2.33
    print(round(7/3))  # 2
    print(round(3.32567,3))  # 3.326
    
    print(pow(2,3))  # 两个参数为2**3次幂
    print(pow(2,3,3))  # 三个参数为2**3次幂,对3取余。
    View Code

    sum:对可迭代对象进行求和计算(可设置初始值)。

    min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。

    max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。

    print(sum([1,2,3]))
    print(sum((1,2,3),100))
    
    print(min([1,2,3]))  # 返回此序列最小值
    
    ret = min([1,2,-5,],key=abs)  # 按照绝对值的大小,返回此序列最小值
    print(ret)
    
    dic = {'a':3,'b':2,'c':1}
    print(min(dic,key=lambda x:dic[x]))
    # x为dic的key,lambda的返回值(即dic的值进行比较)返回最小的值对应的键
    
    
    print(max([1,2,3]))  # 返回此序列最大值
    
    ret = max([1,2,-5,],key=abs)  # 按照绝对值的大小,返回此序列最大值
    print(ret)
    
    dic = {'a':3,'b':2,'c':1}
    print(max(dic,key=lambda x:dic[x]))
    # x为dic的key,lambda的返回值(即dic的值进行比较)返回最大的值对应的键
    View Code

    3. 数据结构

    总结

    匿名函数

    来看一个函数

    def func(x, y):
        return x + y
    
    print(func(3, 4))

    像这样函数体只有return语句的函数可以改写成一行的匿名函数(lambda),如下

    func2 = lambda x, y: x + y

    下面来写一个匿名函数,传入三个参数,返回三个数相乘的结果

    func = lambda x, y, z: x*y*z

    总结一下,匿名函数的特点:

    1. 只有返回值的函数可以用lambda函数代替

    2. 匿名函数只能用一行

    3. 匿名函数的语法为lambda 参数1,参数2,... : 返回值

    4. 匿名函数多与内置函数相结合

  • 相关阅读:
    从boosting谈起
    《人月神话》读书摘记
    Python中input()的使用方法
    Web前端攻击方式及防御措施
    吞吐量(TPS)、QPS、并发数、响应时间(RT)概念
    Mybatis的Mapper文件sql语句中使用常量值或者枚举常量值
    Java依据文件头获取文件类型
    MySQL查询优化
    RabbitMQ学习教程
    SpringBoot2.x.x + Shiro + Redis 前后端分离实现
  • 原文地址:https://www.cnblogs.com/zzliu/p/10222793.html
Copyright © 2020-2023  润新知