python基础学习(二)--函数

时间:2023-12-12 14:14:08

return返回值:

python函数都有返回值,函数体内无return,默认返回值None,

函数参数:

1、普通参数

  严格按照顺序,将实际参数赋值给形式参数,一一对应。

  例:

def send(xxx,z,content):
print(xxx,z,content) send("yy","dd",'niubi')

2、默认参数

  必须放在参数列表的最后,且实际参数可以缺省和覆盖。

  例:

def send(xxx,z,content=123):
print(xxx,z,content) send("yy","dd",'niubi')
运行结果:
yy dd niubi

3、指定参数

  实际参数赋值给指定的形式参数。

  例:

def send(xxx,z,content=123):
print(xxx,z,content) send(z="yy",xxx="dd")
运行结果:
dd yy 123

4、动态参数(一个形参接收多个实参)

(1)形参前面加*号,运行结果是元祖。

例1

def send(*arg):
print(arg)
send([1,2,'ha',78])

运行结果:

([1, 2, 'ha', 78],)

例2

def send(*arg):
print(arg)
send([1,2,'ha',78],"nima",("yoxi",54))

运行结果:

([1, 2, 'ha', 78], 'nima', ('yoxi', 54))

形式参数和实际参数前都加*,提取序列中的元素,放入结果元祖中。注:不管形参还是实参,只要前面加*,只能带一个参数

例2

def send(*arg):
print(arg)
a=[1,2,'ha',78]
send(*a)

运行结果:

(1, 2, 'ha', 78)

(2)形参前面加**,运行结果是字典。

实参必须传赋值的键值对。

例1

def f1(**args):
print(args)
li={1:"a",2:"b"}
f1(k=li)

运行结果:

{'k': {1: 'a', 2: 'b'}}

(3)万能参数

例1:

def f1(*args,**kwargs):
print(args)
print(kwargs)
f1(11,22,33,44,55,66,x1="ya",y2="ha")

运行结果:

(11, 22, 33, 44, 55, 66)
{'x1': 'ya', 'y2': 'ha'}