• Day6_内置函数


    定义完一个有名函数,可以直接利用函数名+括号来执行,例如:func()

    有名函数:

    def func(x,y,z=1):
        return x+y+z

    匿名函数:

    lambda x,y,z=1:x+y+z
    #与有参函数相比:
    #1,函数体没有名字 2,函数体自带return,不用加return
    #只利用一次就不用的,临时使用的

    一些内置函数的意思:内置函数又被称为工厂函数

    abs():取绝对值

    #布尔值为假的情况:None,空,0,False

    all():传可迭代对象,判断是不是所有的值布尔值是不是为真。

    any() :传可迭代对象,只要有布尔值为真就为真。

    bin():2进制

    oct():8进制

    hex():16进制

    bytes:

      unicode---encode----bytes

      print('hello'.encode('utf-8'))=print(bytes('hello',encode='utf-8'))

    callable():是否能够被调用的

    chr():根据ASCI表的位置输出值

    ord():根据ASCI表的值来输出位置

    int():整型

    complex():复数

    float():浮点型

    str():字符串

    list():列表

    tuple():

    dict():字典

    frozenst():不可变集合

    divmod(): 将商和余数放到一起,例子:divmod(10,3)   结果为:(3,1)

    globals,locals:查看全局作用域和局部作用域

    hash():校验一段字符串,得到一堆数字,只要是内容一样,得到的结果是一样的。

    help():查看函数里边的注释信息

    id():访问id的一串ID号,只是python解释器实现的功能,反应了变量在内存的位置。

    isinstance():

    x=1
    print(isinstance(x,int))
    #判断x是不是int的实例
    

     max:求最大值

    min:最小值

    repr:把对象转换成字符串。

    reversed:将列表内的内容反转。

    round:将数字变为多少位小数,利用四舍五入。eg:print(3.478,2)

    l=[1,2,3,4,5,6]
    print(l[0:4])#取得是下标0-4的值
    print([0:4:2])#去下标是0-4的值,而且隔2个取一个

    #slice:指定一种想要数据的方法,跟上面一样。
    s=slice(0,4,2)
    print(l[s])

    zip:拉链

    s='hello'
    l=[1,2,3,4,5]
    res=zip(s,l)
    print(list(res))
    
    #结果是[('h,'1)........]
    

    内置函数与匿名函数结合使用:

    求字典中工资最高的那个人名:

    salaries={
    'egon':3000,
    'alex':110000,
    'wupeiqi':1000,
    'yunahao':2000
    }
    #将字典的key和值反转
    #print(zip(salaries.values(),salaries.key()))
    print(max(zip(salaries.values(),salaries.key())))

    #或者这样写
    #max(salarie,key=lambda name:salaries[name])
    def get_value(name)
      return salaries[name]
    print(sorted(salaries,key=get_value))#这样得到的人名是从大到小排列的
    print(sorted(salaries,key=get_value,reverse=True))#这样是将人名从大到小的值反转,也就是从小到大

    map:把一堆值映射成一堆新值。

    例如:将不是yangshuai的值加上一个丑的后缀。

    name=['yangshuai','datuo','chenhao','dafei']
    #map(lambda x:x+'_SB',name)#这个是一段内存地址
    res=map(lambda x:x+'_SB',name)
    print(list(res))
    #也可以指定哪个值不加
    res=map(lambda x:x if x == 'yangshuai' else x:x+'_SB',name)
    print(list(res))

    算下从1-100的和:

    from functools import  reduce
    print(reduce(lambda x,y:x+y,range(101)))
    #如果数列有初始值,可以在后边加上
    print(reduce(lambda x,y:x+y,range(101),100))

    将某些数据过滤出来:

    name=['yangshuai', 'datuo_SB', 'chenhao_SB', 'dafei_SB']
    res=filter(lambda name:name.endswith('SB'),name)
    print(list(res))
    

    eval:将文本命令执行一遍。

    cmd='print(x)'
    x=1
    eval(cmd,{'x':0},{'x':1000})
    #当全局不存在全局变量时候会报错,可以指定一个全局变量和局部变量。
    #第一个值是全局变量,第二个是局部变量,当局部变量生效的时候,全局变量不会生效
    
  • 相关阅读:
    C++函数声明与定义
    《寻找发帖“水王”》代码的理解
    将正整数转换为二进制数
    使用Cookie记住登录用户
    Java组合算法
    已知链表头结点指针head,写一个函数把这个链表逆序
    String.IsNullOrEmpty官方示例
    log4net的使用
    asp.net MVC4总结
    点击获取页面上的经纬度
  • 原文地址:https://www.cnblogs.com/sexiaoshuai/p/7298158.html
Copyright © 2020-2023  润新知