博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中函数的参数传递与可变长参数
阅读量:5317 次
发布时间:2019-06-14

本文共 1264 字,大约阅读时间需要 4 分钟。

转自原文

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 "*"*40foo(123,myList,myDict)print "*"*40foo(123,rt=123,*myList,**myDict)

 

转载于:https://www.cnblogs.com/arxive/p/9900570.html

你可能感兴趣的文章
介绍Win7 win8 上Java环境的配置
查看>>
移动、联通和电信,哪家的宽带好,看完你就知道该怎么选了!
查看>>
Linux设置环境变量的方法
查看>>
Atitit.进程管理常用api
查看>>
构建自己的项目管理方案
查看>>
利用pca分析fmri的生理噪声
查看>>
div水平居中且垂直居中
查看>>
怎么在windows7系统我的电脑中添加快捷方式
查看>>
epoll使用具体解释(精髓)
查看>>
AndroidArchitecture
查看>>
原生JavaScript第六篇
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Centos7.2正常启动关闭CDH5.16.1
查看>>