• Python—3.2、函数高级篇


    1、概念简介

    Python有很多内置模块或函数,可以实现很多复杂功能;

    2、模块/函数

    函数返回类型说明
    divmod(var1, var2)tuple对象返回包含商和余数的元组
    input([prompt])string对象prompt为提示信息
    open(name[, mode[, buffering]])file对象打开一个文件
    int(x, base=10)int对象x为数字或字符串,base为进制数;同时当 x为纯数字时,base参数不能出现;
    zip(var1,var2)
    sorted()
    filter()
    sum()返回 int类型输入参数可以是一个可迭代的序列;
    • sorted()
      语法实现:
    sorted(iterable, cmp=None, key=None, reverse=False)
    
    • 1

    说明:
    1)sorted() 函数对所有可迭代的对象进行排序操作;
    2)内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作;
    3)key – 主要是用来进行比较的元素,具体的函数的参数取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序;
    4)reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认);

    • enumerate(sequence, [start=0])
    seq_a=["one","two","three","four","five"]
    
    for i,ele in enumerate(seq_a,start=1):
        print(i,ele)
    
    • 1
    • 2
    • 3
    • 4

    说明:此处默认索引从0开始,可以加参数 start 来指定索引的开始值;

    • type(obj)
    • isinstance(obj,type)

    强调:
    1)type()不会认为子类是一种父类类型。
    2)isinstance()会认为子类是一种父类类型。

    >>> 
    >>> isinstance(False,int)
    True
    
    • 1
    • 2
    • 3

    说明:此处可以得出在 Python3种,bool类型是int的子类;

    >>>
    >>> type(False) 
    <class 'bool'>
    >>>
    >>> isinstance(False,bool)
    True
    >>>
    >>> isinstance(False,int)
    True
    >>>
    >>> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    说明:此处使用 type()得出 False属于 bool类型,不属于 int类型;isinstance()可以确定 bool既属于 bool类型,同时属于 int 类型;

    • issubclass(type_s,type_f)

    • set.issubset(set)

    • set.issuperset(set)

    • map(fun, seq)

    map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。

    list_a = [4, 5, 6, 7, 8]
    fun_q = lambda x: x * x
    r = map(fun_q, list_a)
    print(list(r))
    
    # [16, 25, 36, 49, 64]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    说明:由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。

    • reduce(fun(x, y), seq)
      该函数使用前需要从模块 functools 导入;reduce 函数接受 2个参数,fun 和 seq,其中 fun 函数必须有2个输入参数;
    from functools import reduce
    
    list_a = [4, 5, 6, 7, 8]
    fun_s = lambda x, y: x + y
    print(reduce(fun_s, list_a))
    
    # 30
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    =============================================== over ===============================================

  • 相关阅读:
    linux内存分配器
    Qt --- Day03
    C++构造函数
    Arduino 控制理论(3)- 如何在 Arduino 中调节 PID 控制器
    Spark性能调优
    [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
    Redis系列:Redis主从、哨兵、集群介绍
    AVL树C++实现——高度平衡二叉搜索树
    利用python的强大函数库,实现波形的小波降噪、带通滤波、时阈分析、FFT波形转换
    15. 三数之和
  • 原文地址:https://blog.csdn.net/weixin_38938108/article/details/126359908