`
standalone
  • 浏览: 593801 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

python中使用可选参数和命名参数

阅读更多

Python 允许函数参数有缺省值;如果调用函数时不使用参数,参数将获得它的缺省值。此外,通过使用命名参数还可以以任意顺序指定参数。SQL Server Transact/SQL 中的存储过程也可以做到这些;如果你是脚本高手,你可以略过这部分。

info 函数就是这样一个例子,它有两个可选参数。


def info(object, spacing=10, collapse=1):

spacingcollapse 是可选参数,因为它们已经定义了缺省值。object 是必备参数,因为它没有指定缺省值。如果调用 info 时只指定一个参数,那么 spacing 缺省为 10collapse 缺省为 1。如果调用 info 时指定两个参数,collapse 依然默认为 1

假如你要指定 collapse 的值,但是又想要接受 spacing 的缺省值。在绝大部分语言中,你可能运气就不太好了,因为你需要使用三个参数来调用函数,这势必要重新指定 spacing 的值。但是在 Python 中,参数可以通过名称以任意顺序指定。

例 4.4. info 的有效调用

info(odbchelper)                    1
info(odbchelper, 12)                2
info(odbchelper, collapse=0)        3
info(spacing=15, object=odbchelper) 4
1 只使用一个参数,spacing 使用缺省值 10collapse 使用缺省值 1
2 使用两个参数,collapse 使用缺省值 1
3 这里你显式命名了 collapse 并指定了它的值。spacing 将依然使用它的缺省值 10
4 甚至必备参数 (例如 object,没有指定缺省值) 也可以采用命名参数的方式,而且命名参数可以以任意顺序出现。

这些看上去非常累,除非你意识到参数不过是一个字典。“通常” 不使用参数名称的函数调用只是一个简写的形式,Python 按照函数声明中定义的的参数顺序将参数值和参数名称匹配起来。大部分时间,你会使用“通常”方式调用函数,但是如果你需要,总是可以提供附加的灵活性。

注意
调用函数时唯一必须做的事情就是为每一个必备参数指定值 (以某种方式);以何种具体的方式和顺序都取决于你。
分享到:
评论

相关推荐

    Python中几种参数得用法:默认参数,可变参数,关键字参数,命名关键字参数

    默认参数,注意一点:必选参数在前,默认参数在后,否则Python的解释器会报错 二。可变参数: 可变参数,意思就是传入参数的个数是可变的,可以是1个,2个,无数个;传入参数类型为list或者tuple;举例,给定一组...

    python cookbook(第3版)

    9.15 定义有可选参数的元类 9.16 *args和**kwargs的强制参数签名 9.17 在类上强制使用编程规约 9.18 以编程方式定义类 9.19 在定义的时候初始化类的成员 9.20 利用函数注解实现方法重载 9.21 避免重复的属性...

    像计算机科学家一样思考Python(第2版).pdf

    从2.3版本开始接触Python,工作中使用Python编写脚本程序,用于快速原型构建以及日志计算等日常作业;业余时,作为一个编程语言爱好者,对D、Kotlin、Lua、Clojure、Scala、Julia、Go等语言均有了解,但至今仍为...

    python大数据-为什么Python编程非常适合大数据?.pdf

    它具有简单,简洁的语法,对象封装,良好的库⽀持以及可选的命名参数。" Bram Cohen 说。 第三⽅库⽀持 第三⽅库⽀持 Python编程提供了多个库的使⽤。 这使其成为科学计算等领域的著名编程语⾔。 由于⼤数据涉及⼤...

    smart_list:在Python中实现“ lss”命令

    该命令需要接受一个可选参数:目录或文件的路径,类似于“ ls”命令。 使它尽可能通用。 目的是找到可以串联在一起的文件序列。 请不要依赖于特定字符作为分隔符,因为我们无法控制艺术家如何命名其文件。 并且...

    放烟花代码MATLAB-pyCustoms:pyCustoms检查Python包和可选的图形依赖项

    包和可选的图形依赖项 Matlab 的函数很简单:每个函数一个文件,发送输入并获得输出。 Python 喜欢命名空间、模块、类、对象和包,因此很多功能都深埋在包层次结构中。 将它与从好到不存在的文档结合起来,可能很难...

    python-mailchimp:MailChimp API v3的Python客户端

    从2.1.0开始,用于初始化Mailchimp API的参数顺序已经颠倒了,因为用户名是基本身份验证的可选参数。 请颠倒您的参数顺序或完全删除用户名参数。 身份验证参数的名称也已从mc_secret更改为mc_api 。 从v1.x升级 2.x...

    详解Python 切片语法

    Python的切片是特别常用的功能,主要用于对列表的元素取值。...三个参数都是可选参数,意义为list的下标,即index。step参数默认值为1。表现形式有以下几种: alist[start:stop] alist[start:] alist[:stop]

    dive into python

    4.2. 使用可选参数和命名参数 4.3. 使用 type、str、dir 和其它内置函数 4.3.1. type 函数 4.3.2. str 函数 4.3.3. 内置函数 4.4. 通过 getattr 获取对象引用 4.4.1. 用于模块的 getattr 4.4.2. getattr 作为一...

    Python-3-Programming-specialization:该存储库包含该专业所有课程的解决方案

    您将了解局部和全局变量,可选参数和关键字参数传递,命名函数和lambda表达式。 您还将了解Python的排序函数,以及如何通过传入另一个函数作为输入来控制其排序顺序。 对于您的最终项目,您将从文件中读取模拟的...

    深入Python_zh-cn[中文版]

    使用可选参数和命名参数.................................................................................51 4.3. 使用 type、str、dir 和其它内置函数........................................................

    async-python-mailchimp:异步python mailchimp v3 api客户端。 从python-mailchimp分叉(https

    从2.1.0开始,用于初始化Mailchimp API的参数顺序已经颠倒了,因为用户名是基本身份验证的可选参数。 请颠倒您的参数顺序或完全删除用户名参数。 身份验证参数的名称也已从mc_secret更改为mc_api 。 从v1.x升级 2.x...

    check_arg:同时检查可选位置参数和自动记录

    check_arg 文档来源: : 票务: :用法同时检查可选/位置参数和自动记录警告文档依赖于您命名函数和使用合理名称的才能。 使用一些柯里化的示例,目的是实现自动文档和验证,以便: >>> @set_default_kw_value(port=...

    Dive Into Python 中文版

    目录 第 1 章 安装 Python........................................................................................................................................7 ...4.2. 使用可选参数和命名参数 .....

    visual C# 2010

    通过额外的命名参数和可选参数,动态类型,索引属性和可选ref修改器,访问COM接口包括Office Automation API的能力被大幅加强。 类型等价支持(Type Equivalence Support) 相比从主互操作程序集(Primary ...

    知乎大神萧井陌web前端课程

    第9章 作业选讲、抽象化, 如何封装功能, 如何组织代码结构、变量命名的方法 第10章 HTTP 协议 和 AJAX、DOM 事件机制, 事件冒泡和事件捕获 第11章 面向对象、ajax、作业和代码思路 第12章 找工作基础、ajax作业、api...

    PySHed:简化对 shell 命令和命令行应用程序的访问

    函数还支持以下可选的命名参数: daemon - 如果False ,即使在调用脚本终止后,底层进程仍保持活动状态(直到它自己终止,当然); delay - 如果存在,执行在发出请求的 shell 调用后暂停给定的秒数; stderr - ...

    diveintopythonzh-cn-pdf 附代码.rar

    4.2. 使用可选参数和命名参数 ................................................................................. 51 4.3. 使用 type 、 str 、 dir 和其它内置函数 ..............................................

    电视重命名

    rename.py [-h] [-d [DIRECTORY]] [-f [FIRST]] [-r] title season 位置参数: 争论描述标题电视节目标题季节季节编号可选参数: 争论描述-h,--help 显示此帮助消息并退出-d [目录],-目录[目录] 用于读取和重命名...

Global site tag (gtag.js) - Google Analytics