Python中函数的参数传递与可变长参数
Python 函数 参数 可变 参数传递
2023-09-14 09:02:21 时间
转自旭东的博客原文 Python中函数的参数传递与可变长参数
Python中传递参数有以下几种类型:
(1)像C++一样的默认缺省函数
(2)根据参数名传参数
(3)可变长度参数
示例如下:
(1)默认参数
1 def foo(text,num=0):
2 print text,num
3
4 foo("asd") #asd 0
5 foo("def",100) #def 100
(2)参数名传递方式
1 def foo(ip,port):
2 print "%s:%d" % (ip,port)
3
4 foo("192.168.1.0",3306) #192.168.1.0:3306
5 foo(port=8080,ip="127.0.0.1") #127.0.0.1:8080
(3)可变长度参数
#coding:utf-8 #设置python文件的编码为utf-8,这样就可以写入中文注释 def foo(arg1,*tupleArg,**dictArg): print "arg1=",arg1 #formal_args print "tupleArg=",tupleArg #() print "dictArg=",dictArg #[] foo("formal_args")
上面函数中的参数,tupleArg前面“*”表示这个参数是一个元组参数,从程序的输出可以看出,默认值为();dicrtArg前面有“**”表示这个字典参数(键值对参数)。可以把tupleArg、dictArg看成两个默认参数。多余的非关键字参数,函数调用时被放在元组参数tupleArg中;多余的关键字参数,函数调用时被放字典参数dictArg中。
下面是可变长参数的一些用法:
#coding:utf-8 #设置python文件的编码为utf-8,这样就可以写入中文注释 def foo(arg1,arg2="OK",*tupleArg,**dictArg): print "arg1=",arg1 print "arg2=",arg2 for i,element in enumerate(tupleArg): print "tupleArg %d-->%s" % (i,str(element)) for key in dictArg: print "dictArg %s-->%s" %(key,dictArg[key]) myList=["my1","my2"] myDict={"name":"Tom","age":22} foo("formal_args",arg2="argSecond",a=1) print "*"*40 foo(123,myList,myDict) print "*"*40 foo(123,rt=123,*myList,**myDict)
相关文章
- Python学习--05函数
- Python快速学习09: 函数的参数
- 关于Python正则表达式findall函数问题详解
- 深入理解python中函数传递参数是值传递还是引用传递
- join()函数的用法【python】
- Python查询Mysql时返回字典结构的代码
- 为什么 Python 3 把 print 改为函数?
- 程序员数学基础【三、取模运算(取余运算功能重叠部分)】(Python版本)
- 100天精通Python(数据分析篇)——第76天:Pandas数据类型转换函数pd.to_numeric(参数说明+实战案例)
- 100天精通Python(数据分析篇)——第74天:Panda索引标签修改函数大全(参数说明+代码实战)
- 〖Python零基础入门篇㊵〗- 初探异常
- 〖Python接口自动化测试实战篇②〗- 摒弃 ‘捉虫师’ 称号 - 你需要重新认识软件测试
- Python 函数式编程,看这一篇足够了!
- 【阶段四】Python深度学习03篇:深度学习基础知识:神经网络可调超参数:激活函数、损失函数与评估指标
- Python爬虫:浏览器请求头参数RequestHeaders
- python 匿名函数捕获变量值 (执行时的值)
- python 定义带默认参数的函数
- Python: dict setdault函数与collections.defaultdict()的区别
- python列表和QVariant
- python函数中把列表(list)当参数时的"入坑"与"出坑"
- python里函数怎么样使用元组或字典作为参数调用
- python里把dir函数当作查看成员输出
- Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用
- python基础===正则表达式,常用函数re.split和re.sub
- 【Leetcode刷题Python】剑指 Offer 30. 包含min函数的栈