首页 > 代码库 > function
function
function
def
function name
()
function body
return #函数中,一旦执行了return,则函数的执行过程立即终止。function有一个默认的retrun值: None
def sendmail():
1. 普通参数
2. 默认参数(对形式参数设定一个默认值,默认参数只能放在参数列表的后面,可以有多个)
3. 指定参数
4. 动态参数:
*: 默认将传入的参数,全部放到一个tuple中
**:默认将传入的参数,全部放入字典中
万能参数: *args,**kwargs
def f1(*xargs):
print(args,type(args)) #输出的是一个tuple
f1(11,22,"aa","bb")
li = ["abc",12,33,"def",45]
f1(li,"ghi")
f1(li)
(["abc",12,33,"def",45],)
f1(*li) #对比传参的时候加*与不加*:不加,会把列表作为一个整体传入;加*,会把列表中的每一个元素分别传入
("abc",12,33,"def",45)
li="abcd"
f1(*li)
("a","b","c","d")
>>> def f1(**args):
... print(args,type(args)) #输出是一个字典
...
>>> f1(n1="abc",n2=18) #相当于指定参数,**的参数只能用k1="v1",k2="v2"这种方式传参
({‘n1‘: ‘abc‘, ‘n2‘: 18}, <type ‘dict‘>)
>>> dic = {"k1":"v1","k2":"v2"}
>>> f1(kk=dic)
({‘kk‘: {‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}}, <type ‘dict‘>)
>>> f1(**dic)
({‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}, <type ‘dict‘>)
>>> f1(dic)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f1() takes exactly 0 arguments (1 given)
>>>
万能参数:
>>> def f1(*args,**kwargs):
... print(args)
... print(kwargs)
...
>>> f1(11,22,33,44,k1="v1",k2="v2") #会把前面的传给*args,后面的传给**kwargs
(11, 22, 33, 44)
{‘k2‘: ‘v2‘, ‘k1‘: ‘v1‘}
>>>
本文出自 “华仔真棒” 博客,请务必保留此出处http://7540500.blog.51cto.com/7530500/1857571
function