zoukankan      html  css  js  c++  java
  • 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})
    #当全局不存在全局变量时候会报错,可以指定一个全局变量和局部变量。
    #第一个值是全局变量,第二个是局部变量,当局部变量生效的时候,全局变量不会生效
    
  • 相关阅读:
    CodeForces 785D Anton and School
    CodeForces 785C Anton and Fairy Tale
    CodeForces 785B Anton and Classes
    CodeForces 785A Anton and Polyhedrons
    爱奇艺全国高校算法大赛初赛C
    爱奇艺全国高校算法大赛初赛B
    爱奇艺全国高校算法大赛初赛A
    EOJ 3265 七巧板
    EOJ 3256 拼音魔法
    EOJ 3262 黑心啤酒厂
  • 原文地址:https://www.cnblogs.com/sexiaoshuai/p/7298158.html
Copyright © 2011-2022 走看看