python学习(11),,函数参数位置参数传入
python学习(11),,函数参数位置参数传入
函数参数位置参数
传入参数顺序 、个数必须一致
def add(a,b):
return a + b
关键字参数
>> def add(a,b,c):
... return a+b+c
...
>> print(add(c=1,b=2,a=3))
6
注意:关键字参数传参只能放到后面
>> print(add(c=1,2,3))
File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument
默认参数
def add(a,b,c=10): return a + b + cprint(add(3,b=2))
默认参数需要放到后面
def add(a,b=9,c): return a + b + cprint(add(3,b=2))
E:\python>py -3 test.py
File "test.py", line 2
def add(a,b=9,c):
^
SyntaxError: non-default argument follows default argument
可变参数
可变参数-元组
def func(a,b,*args):pass
参数*args是一个元组参数,用一个星号表示,传入的参数会当做元组传入到args中,出位置参数a,b之外其他的参数都会传入args中,可以遍历args参数
习题6:函数参数传入5个字母,声明一个可变参数的函数,拼成一个单词。
def func(a,*args): result = "" result += a for v in args: result += v return resultprint(func("a","b","c","d","e"))
可变参数-字典
参数**kwargs是一个字典参数,用两个星号表示,传入的参数会当做字典传入到kwargs中,
def func(**kwargs): print(kwargs)func(name="zhang",sex="F")
传参需要遵循key = value的形式,key不需要引号,value需要加引号
注意:如果同时存在位置参数、元组参数、字典参数的情况,需要按照位置参数、元组参数、字典参数的顺序定义;
示例:
def add(**kw): print(type(kw)) for i in kw: print(i) for j in kw.values(): print(j)print(add(a="1",b=2,c=3))
习题7:使用必填参数、默认参数、可变元组参数、可变字典参数(value)计算一下单词的长度之和。
#coding=utf-8def func(a,b="abc",*args,**kwargs): result = 0#总长度 result += len(a) result += len(b) for v in args: result += len(v) for v in kwargs.values(): result += len(v) print("a: ",a) print("b:",b) print("args:",args) print("kwargs: ",kwargs) return resultprint("长度: ",func("i","am","good","boy",name="hu",sex="f"))#print(func("i",c="am"))#b会默认取字符串"abc"
lambda匿名函数
一个参数:
lambda x:x+1
x为函数参数,x+1 为函数体,函数会返回x+1的值
>> lambda x:x+1
<function <lambda> at 0x0000000002980620>
>> func = lambda x:x+1
>> func(1)#调用
2
多个参数:
>> fun = lambda x,y: x + y
>> fun(1,3)
4>> lambda x,y,z: (x+y)z
<function <lambda> at 0x00000000029286A8>
>> f = lambda x,y,z: (x+y)z
>> f(1,2,3)
27
lambda示例:
def make_repeater(n):
return lambda s: s*n
twice = make_repeater(2)# twice = lambda s:s*2
print (twice(‘word‘))#lambda word:word2
print (twice(5))##lambda 5:52
python学习(11)
相关内容
- 利用Python进行数据分析 第6章 数据加载、存储与文件格
- Python用HTMLTestRunner生成html测试报告,生成测试报告,小编
- python网站项目构思_20191103,python项目实例,python网站项目
- python文件操作,python文本分析和提取,使用open函数可以
- python面向对象<一>,python面向对象详解,一、
- 利用Python进行数据分析 第7章 数据清洗和准备,数据分
- 001 发大招了 神器的效率工具--Java代码转python代码,效
- python3操作excle,python3提取excel数据,1.写操作impor
- python3颜色输出,python输出,遇到一个项目,需求是
- Python+matplotlib+scipy站点数据绘制气象分布图,matplotlib
评论关闭