Python的4种传值的方式,必选传参 func(param)、默认传参func(param=value)、可选传参func(*param)、关键字传参func(**param)列举说明
2017-04-11 00:05
274 查看
#coding:utf-8 #author:libingxian """ Python的4种传值的方式,必选传参 func(param)、默认传参func(param=value)、可选传参func(*param)、关键字传参func(**param)列举说明 """ # 必选参数 func(param): # 1、定义函数时的参数个数,顺序已定义好,在调用函数调时的参数个数、顺序必须一致,不能多,也不能少,也不能乱(和之前的顺序一致),因此叫必选参数,这是最常用的传参方式 def test(param1,param2,param3): print param1,param2,param3 test(1,"hello",True) test(True,1,"hello") """ 执行结果: 1 hello True True 1 hello """ # 默认参数func(param=value): # 1、定义函数时,已为参数设定一个默认值,假如调用函数时不传参,在函数内部使用参数时的值则为默认值,传参时则和必选参数一样使用 # 2、如果必选参数和默认参数同时存在,则默认参数必须跟在必选参数后面 # 3、如果有多个默认参数,调用时顺序可以不一致,但是必须要显式表明是哪个默认参数,例如 param2=100,但是建议统一按照函数定义的顺序进行使用 def test(param1,param2=100,param3=True): print param1,param2,param3 test(1) # 默认参数可以不传 test(1,"hello",False) # 多个默认参数时,调用顺序一致 test(1,param3=False,param2="hello") # 调用顺序也可以不一致 """ 执行结果: 1 100 True 1 hello False 1 hello False """ # 可选参数func(*param): # 1、定义函数时,当传入的参数个数不确定,可能为0个,1个,2个.。。。多个时,则可用可选参数表示,书写格式为参数名称前带一个*号 # 2、可选参数在调用时的形式是以一个tuple元组形式存在,即param是一个元组 # 3、当定义了一个可变参数时,可以把一个列表或者元组作为一个整体的参数进行传递,只需要在传递的时候,列表或者元组变量名前带*则可 # 4、当有必选参数,默认参数,可选参数时,必须按照必选参数,默认参数,可选参数进行定义 def test(param1,param2=100,*param3): def printP12(): print param1,param2 def printP123(): print param1,param2,param3,type(param3) printP123() if len(param3)!=0 else printP12() test(1,2,3,4,5,6) li = [1,2,3,4] tu = (1,2,3,4) test(1,2,*tu) """ 运行结果: 1 2 (3, 4, 5, 6) 3 <type 'tuple'> 1 2 (1, 2, 3, 4) 1 <type 'tuple'> """ # 关键字参数func(**param): # 1、定义函数时,当传入的参数个数不确定,可能为0个,1个,2个.。。。多个时,则可用关键字参数表示,它与可变参数区别在于传参时必须使用默认参数的形式进行传参,例如param1=1,param2=2 # 2、关键字参数在调用时的形式是以一个dict字典形式存在,即param是一个字典 # 3、当定义了一个关键字参数时,可以把一个列表作为一个整体的参数进行传递,只需要在传递的时候,字典变量名前带**则可 # 4、当有必选参数,默认参数,可选参数,关键字参数时,必须按照必选参数,默认参数,可选参数,关键字参数进行定义 def test(param1,param2=100,*param3,**param4): def printP12(): print param1,param2 def printP1234(): print param1,param2,param3,param4,type(param4) printP1234() if len(param3)!=0 and len(param4)!=0 else printP12() test(1,10,11,a=1,b=2,c=3) dict = {"a":1,"b":2,"c":3} test(1,10,11,**dict) """ 执行结果: 1 10 (11,) {'a': 1, 'c': 3, 'b': 2} <type 'dict'> 1 10 (11,) {'a': 1, 'c': 3, 'b': 2} <type 'dict'> """
相关文章推荐
- 设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- centos默认python2.6升级到python2.7,并用pip方式安装python工具包。
- Python定义与调用函数、默认参数操作实例说明
- Python定义与调用函数、默认参数操作实例说明
- MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- python函数学习--函数的四种传参方式
- Python的位置参数,可选参数,关键字参数
- [转]修改python默认的编码方式
- python 函数参数(必选参数、默认参数、可选参数、关键字参数)
- MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- C++ 传参时传内置类型时用传值(pass by value)方式效率较高
- Python 函数的默认参数, 关键字参数的调用
- 关于python函数的默认参数,可变参数,关键字参数
- C++ 传参时传内置类型时用传值(pass by value)方式效率较高
- 修改python默认的编码方式
- [Python]函数--关键字函数和默认函数
- 关于Python输出方式(the value of x + y is z)
- python入门笔记(Day2)--默认/可变/关键字/命名字关键字参数
- 各主流浏览器和服务器URL传参(GET方式)的最大处理能力说明