• Day 3-3 内置方法


    常用内置函数方法:

    min,max

    1 li = [1, 2, 3, 6, 9, 5, 10, 26]
    2 print('li的最小值是:', min(li))      # 取最小值
    3 print('li的最大值是:', max(li))      # 取最大值
    4 #输出如下:
    5 # li的最小值是: 1
    6 # li的最大值是: 26

    bool() 判断是True还是False

    bool(0)
    #False
    bool(-1)
    #True
    bool(1)
    #True
    bool(False)
    #False
    bool(None)
    #False

    all,any 判断一个可迭代的参数里的元素是否为True或False

    # all 判断一个可迭代参数的元素是否都是True,如果有一个非True,就返回False
    li = [-1, 2, 9]
    tup = (1, 2, 4, 8, 0)
    empty_list = []
    print(all(li))
    # True
    print(all(tup))
    # False
    print(all(empty_list))   # 需要特别注意的是,在python中.bool([])是返回False,但是all([]),返回的是True
    # True
    # any 只要有一个元素是True就返回True
    print(any(tup))         
    # True          

    dir:打印当前程序所有的变量名称.

    print(dir())
    # 输出如下:
    # ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'empty_list', 'li', 'tup']

    语法

    sorted 语法:

    sorted(iterable[, cmp[, key[, reverse]]])

    参数说明:

    • iterable -- 可迭代对象。
    • cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

    返回值

    返回重新排序的列表。

    students = [('john', 'A', 18), ('jane', 'B', 12), ('dave', 'B', 20)]
    print(sorted(students,key=lambda x:x[2],reverse=True)) //按照年龄降序排列
    --------------------------------------------------
    [('jane', 'B', 12), ('john', 'A', 18), ('dave', 'B', 20)]

     eval():用来执行一个字符串表达式,并返回表达式的值。

    s = '2+8*9'
    s1 = eval(s)
    print(s1)
    # 输出如下:
    # 74

    exec():方法和eval一样.只是exec()方法可以执行多行代码.

     1 code = '''
     2 if 2 > 5:
     3     print('2比5大')
     4 else:
     5     print('2没有5大')
     6 
     7 '''
     8 
     9 
    10 exec(code)
    11 #输出如下:
    12 # 2没有5大
    13 
    14 #注意,如果用eval(code) 来执行这段代码,会报错.

    eval()和exec()的区别:

    1.eval()执行代码时,只能执行单行.exec()可以执行多行

    2.eval()可以获取返回值,exec()不能获取.看下面的例子.

    1 res = eval('9+3*7')
    2 res1 = exec('9+3*7')
    3 print('res', res, res1)
    4 #输出如下:
    5 # res 30 None      res1 返回了None

    ord(),chr()

    1 print(ord('a'))   #返回字符串在ASCII码中的十进制数
    2 print(chr(97))  #返回十进制数在ASCII码中对应的字母
    3 #输出:
    4 # 97
    5 # a

    sum():求和

    1 li = [9,89, 84, 23, 34, 4343, 232]
    2 print(sum(li))
    3 # 4814

    map():

    语法

    map() 函数语法:

    map(function, iterable, ...)

    参数

    • function -- 函数,有两个参数

    • iterable -- 一个或多个序列

    1 print(list(map(lambda x, y: x * y,[9,5,6,4,3], [98,34,24,56])))
    2 # [882, 170, 144, 224]

    filter() 

    filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

    该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

    语法

    以下是 filter() 方法的语法:

    filter(function, iterable)

    参数

    • function -- 判断函数。
    • iterable -- 可迭代对象。

    返回值

    返回列表。

    1 print(list(filter(lambda x: x > 4, [1,2,3,4,5,6,7,8,9])))
    2 # [5, 6, 7, 8, 9]

    reduce():在python3中需要导入functools才可以使用.

    reduce() 函数会对参数序列中元素进行累积。

    函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

    语法

    reduce() 函数语法:

    reduce(function, iterable[, initializer])

    参数

    • function -- 函数,有两个参数
    • iterable -- 可迭代对象
    • initializer -- 可选,初始参数.相当于替换迭代对象中的第一个元素值.

    返回值

    返回函数计算结果。

    1 # 求1+2+3+.....+100的值
    2 import functools
    3 print(functools.reduce(lambda x,y:x+y,list(range(101))))
    4 #5050
    # 使用初始参数
    import functools
    print(functools.reduce(lambda x,y:x+y,[1,3,5,7,9],5))
    #30
    # 相当于把列表的中1替换成5.

    callable():判断是否可以被调用,可以被调用返回True,反之返回False

    1 def calc():
    2     pass
    3 
    4 
    5 a = 5
    6 print(callable(calc))
    7 print(callable(a))
    8 #True
    9 #False

     frozenset():把一个集合变成不可变的.

    1 set = {1,2,3,4,5,6,7}
    2 set.discard(6)
    3 print(set)
    4 set = frozenset(set)
    5 set.discard(6)  # 这一行会报错.不可变后,不能添加删除.

    locals :打印当前作用域中的变量.

    def calc():
        x = 9
        y = 8
        print(locals())
    
    
    calc()
    # {'y': 8, 'x': 9}   以字典的形式返回.

    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

    如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    语法

    zip 语法:

    zip([iterable, ...])

    参数说明:

    • iterabl -- 一个或多个迭代器;

    返回值

    返回元组列表.

    1 l = [1,2,3,4,5,6]
    2 l1 = ['a','b','c']
    3 print(list(zip(l, l1)))
    4 #  [(1, 'a'), (2, 'b'), (3, 'c')]
  • 相关阅读:
    【解决方案】流媒体协议RTSP视频平台EasyNVR远程监控系统在水利工程场景中的应用
    网络流媒体协议RTSP视频平台EasyNVR程序启动失败,端口被占用如何解决?
    视频监控联网RTSP平台EasyNVR用户管理权限与实际权限不匹配,该如何排查?
    流媒体协议RTSP视频平台EasyNVR录像回看列表删除提示日期错误,遇此问题该怎么解决?
    拉流失败,高清视频监控平台EasyNVR的RTSP摄像头被禁用怎么办?
    流媒体协议RTSP视频平台EasyNVR在windows下编译报错,该如何解决?
    如何解决RTSP协议视频平台EasyNVR智能云终端登录界面一直循环导致无法登录?
    RTSP视频平台EasyNVR如何设置防火墙允许程序运行端口的访问?
    【搭建方案】互联网电视如何通过EasyNVR视频平台传输直播视频流?
    RTSP视频平台EasyNVR录像版重启软件后服务崩溃问题排查解决
  • 原文地址:https://www.cnblogs.com/lovepy3/p/8683239.html
Copyright © 2020-2023  润新知