• 高阶函数、递归函数、内置函数


    这里我们学习的是:
      高阶函数

      递归函数

      内置函数

     参数分类:

    # 这里的参考文章是:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000
    '''
    函数的参数的分类:
    必选参数
    默认参数
    可变参数
    关键字参数
    命名关键字参数

    调用的顺序就是,必选参数-默认参数-可变参数-命名关键字参数-关键字参数

    这里可变参数就是多个未知的参数
    关键字参数是 传入相当于多个 'xx'='ddd' 形式传入

    def f(a,b,c=3,*args,**kw)

    这里的
    a,b是必选参数
    c是默认参数
    args 可变参数
    kw 关键字参数

    这里的命名关键字参数的左右就是想让传入的参数限定死,只能传入规定的几个关键字参数,别的传入就报错
    命名参数的定义格式是
    def f2(a,b,*,city,job) # 这个是没有可变参数情况下的定义
    def f3(a,b,*args,city,job) #这个是存在可变参数的情况下定义命名关键字参数,city,job,也就是说传入的参数的key必须是city和job

    *args是可变参数,args接收的是一个tuple;输出的结果是一个元祖
    **kw是关键字参数,kw接收的是一个dict。 输出的结果是一个字典

    以及调用函数时如何传入可变参数和关键字参数的语法:
    可变参数既可以直接传入:func(1, 2, 3,4),又可以先组装list或tuple,再通过*args传入:func(1,*(1, 2, 3));
    关键字参数既可以直接传入:func(1,a=1, b=2),又可以先组装dict,再通过**kw传入:func(1,**{'a': 1, 'b': 2})。
    使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。
    命名的关键字参数是为了限制调用者可以传入的参数名,同时可以提供默认值。
    定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符*,否则定义的将是位置参数。
    '''
  • 相关阅读:
    ios 封装sqllite3接口
    ios7与ios6UI风格区别
    C/C++面试题
    单链表反转
    字符串倒序输出
    简单选择排序
    插入排序
    冒泡
    快速排序
    C++ new delete(二)
  • 原文地址:https://www.cnblogs.com/smail-bao/p/7867803.html
Copyright © 2020-2023  润新知