iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python之多种方式传递函数方法案例讲解
  • 362
分享到

python之多种方式传递函数方法案例讲解

2024-04-02 19:04:59 362人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python进阶教程之函数参数的多种传递方法,包括关键字传递、默认值传递、包裹位置传递、包裹关键字混合传递等,需要的朋友可以参考下 我们已经接触过函数(functi

这篇文章主要介绍了python进阶教程之函数参数的多种传递方法,包括关键字传递、默认值传递、包裹位置传递、包裹关键字混合传递等,需要的朋友可以参考下
我们已经接触过函数(function)的参数(arguments)传递。当时我们根据位置,传递对应的参数。我们将接触更多的参数传递方式。

回忆一下位置传递:


def f(a,b,c):
    return a+b+c
print(f(1,2,3))

在调用f时,1,2,3根据位置分别传递给了a,b,c。
关键字传递

有些情况下,用位置传递会感觉比较死板。关键字(keyWord)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系。依然沿用上面f的定义,更改调用方式:


print(f(c=3,b=2,a=1))

关键字传递可以和位置传递混用。但位置参数要出现在关键字参数之前:


print(f(1,c=3,b=2))

参数默认值

在定义函数的时候,使用形如a=19的方式,可以给参数赋予默认值(default)。如果该参数最终没有被传递值,将使用该默认值。


def f(a,b,c=10):
    return a+b+c
print(f(3,2))
print(f(3,2,1))

在第一次调用函数f时, 我们并没有足够的值,c没有被赋值,c将使用默认值10.
第二次调用函数的时候,c被赋值为1,不再使用默认值。

包裹传递

在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会非常有用。

下面是包裹位置传递的例子:


def func(*name):
    print type(name)
    print name
func(1,4,6)
func(5,6,7,1,2,3)

两次调用,尽管参数个数不同,都基于同一个func定义。在func的参数表中,所有的参数被name收集,根据位置合并成一个元组(tuple),这就是包裹位置传递。
为了提醒Python参数,name是包裹位置传递所用的元组名,在定义func时,在name前加*号。

下面是包裹关键字传递的例子:


def func(**dict):
    print type(dict)
    print dict
func(a=1,b=9)
func(m=2,n=1,c=11)

与上面一个例子类似,dict是一个字典,收集所有的关键字,传递给函数func。为了提醒Python,参数dict是包裹关键字传递所用的字典,在dict前加**。
包裹传递的关键在于定义函数时,在相应元组或字典前加*或**。

解包裹

*,也可以在调用的时候使用,即解包裹(unpacking), 下面为例:


def func(a,b,c):
    print a,b,c
args = (1,3,4)
func(*args)

在这个例子中,所谓的解包裹,就是在传递tuple时,让tuple的每一个元素对应一个位置参数。在调用func时使用*,是为了提醒Python:我想要把args拆成分散的三个元素,分别传递给a,b,c。(设想一下在调用func时,args前面没有*会是什么后果?)
相应的,也存在对词典的解包裹,使用相同的func定义,然后:


dict = {'a':1,'b':2,'c':3}
func(**dict)

在传递词典dict时,让词典的每个键值对作为一个关键字传递给func。

混合
在定义或者调用参数时,参数的几种传递方式可以混合。但在过程中要小心前后顺序。基本原则是,先位置,再关键字,再包裹位置,再包裹关键字,并且根据上面所说的原理细细分辨。

注意:请注意定义时和调用时的区分。包裹和解包裹并不是相反操作,是两个相对独立的过程。

到此这篇关于python之多种方式传递函数方法案例讲解的文章就介绍到这了,更多相关python之多种方式传递函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python之多种方式传递函数方法案例讲解

本文链接: https://www.lsjlt.com/news/133091.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python之多种方式传递函数方法案例讲解
    这篇文章主要介绍了python进阶教程之函数参数的多种传递方法,包括关键字传递、默认值传递、包裹位置传递、包裹关键字混合传递等,需要的朋友可以参考下 我们已经接触过函数(functi...
    99+
    2024-04-02
  • 超详细讲解C++的三种函数传递方式
    目录一、值传递二、地址传递1.指针的有关知识2.地址传递举例三、引用传递1.引用的相关知识2.引用传递举例四、三种传参方式的比较总结一、值传递 代码如下: void swap1(in...
    99+
    2024-04-02
  • python函数的四种参数传递方式
    python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及,后两种一般...
    99+
    2023-01-30
    四种 函数 参数
  • Oracle Sqlplus命令登录多种方式案例讲解
    目录Oracle Sqlplus命令登录的几种方式1. sqlplus / as sysdba2. sqlplus “/as sysdba”3. sqlplus username/p...
    99+
    2024-04-02
  • python数据结构之递归方法讲解
    目录1.递归概念2. 递归三原则2.1 实现任意进制的数据转换今天我们来学习python中最为重要的内容之递归,对以往内容感兴趣的同学可以查看下面: python数据类型: pyth...
    99+
    2024-04-02
  • Java之String.format()方法案例讲解
    前言:  String.format()作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,这里根据查阅的资料做个学习笔记,整理成如下文章,供后续复习查阅。 一. f...
    99+
    2024-04-02
  • python之线程池map()方法传递多参数list
    目录线程池map()方法传递多参数list线程池并发需要引入模块他的语法为先看一下整体代码总结线程池map()方法传递多参数list 之前通过threading.thread()进行...
    99+
    2023-03-14
    python线程池map python线程池 线程池map传递多参数list
  • python函数的传递方式有哪些
    python中函数的传递方式有以下几种fun1(a,b,c)fun1(a,b,c)是直接将实参赋予行参,根据位置做匹配,即严格要求实参的数量与行参的数量位置相等。fun2(a=1,b=2,c=3)fun2(a=1,b=2,c=3)是根据键值...
    99+
    2024-04-02
  • C++ 函数参数的传递方式详解:值传递和引用传递
    c++++ 参数传递方式分为值传递和引用传递。值传递创建函数参数副本,不影响原变量;引用传递直接操作原变量。选择方式取决于需求:保护原变量使用值传递,修改原变量或提高效率使用引用传递。 ...
    99+
    2024-04-12
    c++ 函数参数传递
  • 详解Mybatis多参数传递入参四种处理方式
    1.利用参数出现的顺序 利用mapper.xml <select id="MutiParameter" resultType="com.jt.mybatis.e...
    99+
    2024-04-02
  • c语言函数参数传递方式有哪几种
    C语言函数参数传递方式有以下几种:1. 值传递(Pass by Value):将实际参数的值复制给形式参数,在函数内部对形参的修改不...
    99+
    2023-09-16
    c语言
  • Java之线程编程的4种方法实现案例讲解
    1、继承Thread public class T4 { public static void main(String[] args) { System.out.print...
    99+
    2024-04-02
  • Go语言函数参数传递方式详解
    Go语言是一门由Google开发的开源编程语言,旨在提高开发人员的生产力和代码的可靠性。在Go语言中,函数参数的传递方式是非常重要的,它可以影响程序的性能和内存占用。 1. 值传递 值...
    99+
    2024-03-09
    go语言 函数参数 传递方式 内存占用
  • Node.js中参数传递的两种方式详解
    目录参数传递方式GET方式POST方式动态网页参数传递方式 在Node.js中,参数传递常见的共两种方式: GET方式:通过地址栏键=值的方式进行传递。POST方式:通过表单的方式传...
    99+
    2024-04-02
  • PHP页面之间传递参数的三种方法
    php变量传递是非常常见的,比如一个简单的登录模块,首先需要创建登录表单,然后需要将登录表单页面的用户名和密码传递到登录处理页面进行判断用户名和密码是否正确,如果正确则进行登录成功的相关操作,如果错误就提示给用户账号密码有误。 以上所说的登...
    99+
    2023-09-09
    php
  • python中函数传递参数的方式有哪些
    本篇文章为大家展示了python中函数传递参数的方式有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不...
    99+
    2023-06-14
  • php函数按值传递参数的实例方法
    本篇内容主要讲解“php函数按值传递参数的实例方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php函数按值传递参数的实例方法”吧!向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数...
    99+
    2023-06-20
  • Python中函数参数传递方法有哪些
    这篇文章主要介绍“Python中函数参数传递方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中函数参数传递方法有哪些”文章能帮助大家解决问题。定义和传递参数parameters ...
    99+
    2023-07-06
  • python函数参数传递的方法有哪些
    在Python中,函数参数传递的方法有以下几种:1. 位置参数传递:根据参数的位置顺序进行传递,参数的值与参数的位置一一对应。例如:...
    99+
    2023-10-19
    python
  • php函数引用传递参数的实例方法
    本篇内容介绍了“php函数引用传递参数的实例方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先来看一个小例子,便于我们理解引用传递。&n...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作