传递任意数量的实参

有时候,你预先不知道函数需要接受多少个实参,好在Python允许函数从调用语句中收集任意数量的实参

def get_letter(*letters):
for i in letters:
print(i)
get_letter('A','B','C','D','E')

形参名*letters中的星号让Python创建一个名为letters的空元组,并将收到的所有值都封装到这个元组中

结合使用位置实参和任意数量的实参

如果让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。

def get_letter(max_length,*letters):
print("\nThe Maximum length is "+str(max_length))
for i in letters:
print(i)
get_letter(10,'A','B','C','D','E')

使用任意数量的关键字实参

在不知道向函数传递的信息是什么样的情况下,还可以将函数编写能够接受任意数量的键-值对--调用语句提供多少就接受多少

def get_info(NM,**UserInfo):
profile ={}
profile['name'] = NM
for key,value in UserInfo.items():
profile[key] = value
return profile user_profile = get_info('zhangsan',sex = 'man',age = 23)
print(user_profile)

在get_info函数体内,我们创建了一个名为profile的空字典,用于存储用户的信息,我们先将NM存储到字典中,然后遍历UserInfo中的键值对,将每一个键-值存储在字典中。

总结

* UserInfo   元组

**UserInfo   字典

【Python】向函数传递任意数量的实参的更多相关文章

  1. 函数的学习3——传递任意数量的实参&将函数存储在模块——参考Python编程从入门到实践

    传递任意数量的实参 形参前加一个 * ,Python会创建一个已形参为名的空元组,将所有收到的值都放到这个元组中: def make_pizza(*toppings): print("\nM ...

  2. Python 传递任意数量的实参

    在定义函数的时候如果你不知道该函数在使用的时候要接收多少的实参怎么办? 好在python提供了可以接收任意数量的实参的操作. # def sandwitch(*ingredents): # print ...

  3. 传递任意数量的实参*parameter&使用任意数量的关键字实参**parameter

    1.*形参名(*parameter) 有时候我们不知道知道函数需要接受多少个实参,所以我们可以在形参名前加一个*,是让python创建一个名为parameter的空元组,并将收到的所有值都封装到这个元 ...

  4. python_传递任意数量的实参

    '''def name(*args): #python创建一个空元组,将收到的所有值都封装在这个元组中 """打印所有姓名""" for i ...

  5. python传递任意数量的实参

    1.传递任意的实参 def make(*test):#带*号 print(test) make("one")#传递一个实参 make("one","t ...

  6. Python中函数传递参数有四种形式

    Python中函数传递参数有四种形式 fun1(a,b,c) fun2(a=1,b=2,c=3) fun3(*args) fun4(**kargs) 四种中最常见是前两种,基本上一般点的教程都会涉及, ...

  7. 深入理解python中函数传递参数是值传递还是引用传递

    深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是"传对象引用 ...

  8. [ActionScript3.0] 传递任意数量的参数

    function setAgument(a:int,...rest):void{ for(var i:int=0;i<rest.length;i++){ trace(rest[i]); }}se ...

  9. Python中函数的使用

    函数让代码的编写,阅读,测试和修改都变得更容易,提高代码的复用性,python中使用def关键字定义函数 如下代码在python3.7.3的Genay开发工具中编写测试通过. 一.简单函数定义及调用 ...

随机推荐

  1. 【bzoj4869】[Shoi2017]相逢是问候 扩展欧拉定理+并查集+树状数组

    题目描述 Informatik verbindet dich und mich. 信息将你我连结. B君希望以维护一个长度为n的数组,这个数组的下标为从1到n的正整数.一共有m个操作,可以分为两种:0 ...

  2. mysql里制造一个错误

    最近突然想到的,由于在触发器中执行失败事务性表会自动回滚. 所以就想制造一个错误,在群里问了问最后还真得到一个制造错误的方法,或者可以叫做自定义异常 SIGNAL SQLSTATE ' SET MES ...

  3. BZOJ 3674 可持久化并查集加强版(主席树变形)

    3673: 可持久化并查集 by zky Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 2515  Solved: 1107 [Submit][Sta ...

  4. pdf生成(itextSharp)

    最近在工作中遇到一个问题,客户要求将系统中的表格全部导出成PDF格式.经过搜索,基本是三种思路: 直接用byte写PDF文件.(算你狠,霸王硬上弓) 通过Com组件转换.以Adobe Acrobat为 ...

  5. POJ 2168 Popular cows [Tarjan 缩点]

                                                                                                         ...

  6. 移动开发平台 apicloud、wex5

    http://www.apicloud.com/deepengine http://www.wex5.com

  7. Axisfault faultcode:Server.userException异常

    ---恢复内容开始--- Axisfault faultcode:Server.userException异常 AxisFault faultCode: {http://schemas.xmlsoap ...

  8. HDU 1022 Train Problem I[给出两个长n的串,入栈和出栈顺序,判断入栈顺序是否可以匹配出栈顺序]

    Train Problem I 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 As the new term comes, the Ignatius Train Sta ...

  9. 树(tree)

    树(tree)[题目描述]从前在森林里面有一棵很大的树,树上住着很多小动物.树上有

  10. 深入SQL SERVER 2000的内存管理机制

    http://www.cnblogs.com/softj/articles/243591.html