《Python 学习手册4th》 第十八章 参数

‘‘‘
时间: 9月5日 - 9月30日
要求:
1. 书本内容总结归纳,整理在博客园笔记上传
2. 完成所有课后习题
注:“#” 后加的是备注内容
(每天看42页内容,可以保证月底看完此书)
“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题、习题题目- 加粗,16px
‘‘‘

重点笔记

摘要

参数是对象作为输入发送给函数的方式。参数(argument)
一. 传递参数

  下面是函数传递参数时的一些简要的关键点:

  • 参数的传递是通过自动将对象赋值给本地变量名来实现的
  • 在函数内部的参数名的赋值不会影响调用者
  • 改变函数的可变对象参数的值也许会对调用者有影响

二. 特定的参数匹配模型

  参数在Python中总是通过赋值进行传递的。传入的对象赋值给了在def头部的变量名。

  1. 基础知识
    位置:从左至右进行匹配
    关键字参数:使用name = value这种语法
    默认参数: 为没有传入值的参数定义参数值,使用name = value这样的语法
    可变参数: 收集任意多基于位置或关键字的参数,函数能够使用特定的参数,它们是以字符串*开头,收集任意多的额外参数
    可变参数解包:传递人一多的基于位置或关键字的参数
    Keyword-only参数:参数必须按照名称传递
  2. 细节
    Python内部是使用以下的步奏来在赋值前进行参数匹配的:
    ①通过位置分配非关键字参数;
    ②通过匹配变量名分配关键字参数;
    ③其他额外的非关键字参数分配到*name元组中;
    ④其他额外的关键字参数分配到**name字典中;
    ⑤用默认值分配给在头部未得到分配的参数

三. 任意参数的实例

  1. 收集参数
    第一种用法:在函数定义中,在元组中收集不匹配的位置参数

    >>> def f(*args):
        print(args)
    
    >>> f()
    ()
    >>> f(1)
    (1,)
    >>> f(1,2,3,4)
    (1, 2, 3, 4)
  2. ** 特性类似,但是它只对关键字参数有效。

    >>> def f(**args):
        print(args)
    
    >>> f()
    {}
    >>> f(a=1,b="py")
    {‘b‘: ‘py‘, ‘a‘: 1}
  3. 混合用法
    函数头部能够混合一般参数、*参数和**参数去实现更加灵活的调用方式

    >>> def f(a,*arg,**args):
        print(a,arg,args)
    
    >>> f(1,2,3,x=1)
    1 (2, 3) {‘x‘: 1}

四. keyword-Only 参数

  可以在参数列表中使用一个*字符,来表示一个函数不会接受一个变量长度的参数列表,而是仍然期待跟在*后面的所有参数都作为关键字传递。



本章习题:

1.

答: 1 2 5

2.

答: 1 2 3

3.

答: 1 (2,3)

4.

答:1,{c:3,b:2}

5.

答:1 5 6 4

时间: 2024-10-25 14:41:01

《Python 学习手册4th》 第十八章 参数的相关文章

《Python 学习手册4th》 第八章 列表与字典

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 摘要 这两种类型几乎是Python所有脚本的主要工作组件. 列表(list): 一. 列表的特点: 任意对象的有序结合.通过偏移读取.属于可变序列的分类.对象引用数组. 字典(Dict)

《Python 学习手册4th》 第十九章 函数的高级话题

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 一. 函数设计概念 耦合性: 对于输入使用参数并且对于输出使用return语句 1 耦合性: 只有在真正必要的情况下使用全局变量 耦合性: 不要改变可变类型的参数,除非调用者希望这样做

《Python 学习手册4th》 第十六章 函数基础

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 摘要 函数是Python为了代码最大程度的重用和最小化代码冗余而提供的最基本的程序结构.一. 为何使用函数 最大化的代码重用和最小化代码冗余 流程的分解 本章习题: 1. 编写函数有什么

《Python 学习手册4th》 第十五章 文档

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 本章习题: 1. 在什么时候应该使用文档字符串而不是#字注释? 答: 文档字符串被认为最适用于较大.功能性的文档,用来描述程序中的模块.函数.类,以及方法的使用. 2. 举出3种查看文档字符串的方

《Python 学习手册4th》 第十二章 if

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 摘要 一. 二. 三. 四. 五. 六. 七. 八. 九. 本章习题:

《Python 学习手册4th》 第十三章 while和for循环

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 摘要 while语句,提供了编写通用循环的一种方法 for语句,用它来遍历序列对象内的元素,并对每个元素运行一个代码块 一. While 循环While循环是Python语言中最通用的迭

《Python 学习手册4th》 第四章 介绍Python对象类型

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容(每天看42页内容,可以保证月底看完此书) ''' 摘要 Python程序可以分解成模块.语句.表达式和对象: 程序由模块构成: 模块包含语句: 语句包含表达式: 表达式建立并处理对象. 一. 为什么使用内置类型  #了解即可 内置对象使程序更容易编写 内置对象是扩展的组件 内置对象往往比定制的数据结构更高效 内置对象是语言的标准的一部分 二. Py

《Python 学习手册4th》 第六章 动态类型简介

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书)“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 : 摘要 动态类型是Python语言灵活性的根源(尤其是其提供的多态性) 一. 缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明. 二. 变量.对

《Python 学习手册4th》 第九章 元组、文件及其他

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 元组 一. 元组的特点 任意对象的有序集合.通过偏移存取.属于不可变序列类型.固定长度+异构+任意嵌套.对象引用的数组 二. 转换.方法以及不可变性 “+” “*”以及分片操作应用于元组