python函数参数(必须参数、可变参数、关键字参数)
#python中的函数定义,使用和传参 ###-------------------必要参数------------------------------------- 必要参数,即函数调用时必须要传的参数, #下面进行举例说明 defhelloWorld(a): print('输出:hello') if__name__=='__main__': helloWorld("aaa")##必须要有参数 ##------------默认参数----------------------------------------------------------- 说明: 1.必选参数在前, 2,有多个默认参数时,调用的时候,既可以按顺序提供默认参数 3,也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上 例如: defenroll(name,gender,age=6,city='Beijing'): print('name:',name) print('gender:',gender) print('age:',age) print('city:',city) enroll('Bob','M',7) enroll('Adam','M',city='Tianjin') 特别重要: ###定义默认参数要牢记一点:默认参数必须指向不变对象! 例如: defadd_end(L=[]): L.append('END') returnL print(add_end()) print(add_end()) 结果: ['END'] ['END','END'] 原因说明: Python函数在定义的时候,默认参数L的值就被计算出来了,在每次调用时,L参数已经变前一次调用所更改了, 所以: 避免在函数里面去修改函数的默认参数值。 ##---------------------关键字参数-------------------------------------------- defabout(name,course,site): print(name,course,site) about('jim','100','www.baidu.com')##必须按顺序传参 about(site='www.baidu.com',name='green',course=100)##以关健字方式传入参数(可以不按顺序) ##--------------不定长参数(可变参数)(这些可变参数在函数调用时自动组装为一个tuple)----------------------------------------------------------- 顾名思义: 可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。 ###重要说明: (可变参数的好处是,不用事先准备好LIST或者元组) 这些可变参数在函数调用时自动组装为一个tuple 定义: defloop(*args): forxinargs: printx loop(1,2,3) 结果是: 1 2 3 ###说明2: 如果已经有了一个列表或者元组,怎么传递可变参数呢???如下: defloop(*args): forxinargs: printx loop(1,2,3) a=[4,5,6] loop(*a)##这里要在列表或元组前面加*连传递参数进来。 ###-------------------这也是不定长参数---------------------------------------------------------------- 说明: 这些关键字参数在函数内部自动组装为一个dict 函数定义: defperson(name,age,**kw): print('name:',name,'age:',age,'other:',kw) 调用1: >>>person('Michael',30) name:Michaelage:30other:{} 调用2: >>>person('Adam',45,gender='M',job='Engineer') name:Adamage:45other:{'gender':'M','job':'Engineer'} 调用3: >>>extra={'city':'Beijing','job':'Engineer'}---事先已经有了一个字典 >>>person('Jack',24,**extra)----**extra表示把extra这个dict的所有key-value用关键字参数传入到函数的**kw参数 name:Jackage:24other:{'city':'Beijing','job':'Engineer'} ###调用说明: **extra表示把extra这个dict的所有key-value用关键字参数传入到函数的**kw参数,kw将获得一个dict, 注意kw获得的dict是extra的一份拷贝,对kw的改动不会影响到函数外的extra。 ##--------------------------------------------
ps:下面给大家介绍下python中函数、方法、关键字的区别
一、关键字
python中一共含有32个关键字:'false','none','true','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield' --关键字-是Python内置的、具有特殊意义的表示符 --使用时关键字后面不需要括号
二、函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。可以自己定义一个函数。
--函数-封装了独立功能,可以直接调用
--函数名(参数)
以下是简单的定义规则:
•函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
•任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
•函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
•函数内容以冒号起始,并且缩进。
•return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None。
语法:
deffunctionname(parameters): "函数_文档字符串" function_suite return[expression]
案例:
#自定义函数 deffunction_name(str): "打印传入的字符串" print(str) return(0); #调用自定义函数 function_name("自定义函数") function_name("调用自定义函数")
二、方法
方法-和函数类似,同样封装了独立的功能
-需要通过对象来调用表示针对这个对象要做的操作
--对象.方法名(参数)
--在变量名后面输入.,然后选择针对这个变量要执行的操作,记忆起来闭函数要简单的多
总结
以上所述是小编给大家介绍的python函数参数(必须参数、可变参数、关键字参数),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!