python--函数的基本用法
- 定义函数
- 无参无返回值
- 有参无返回值
- 无参有返回值
- 有参有返回值
- 空函数
- 多个返回值
- 函数的参数
- 必传参数(不传会报错)
- 关键字参数
- 不定长参数
- *args
- **kwargs
- 区别
- 拆包(了解)
- *用法
- **用法
定义函数
无参无返回值
def foo():
语句
有参无返回值
def foo(x, y):
z = x + y
无参有返回值
def foo():
x = 1
return x + 1
有参有返回值
def foo(x, y):
return x + y
空函数
def emptyfunc():
pass
多个返回值
return多个值,其实是返回一个元组
def foo():
x, y, z=1, 2, 3
return x,y,z
# 返回一个元组
tup = foo()
# 元组拆包
x1, y1, z1 = foo()
函数的参数
必传参数(不传会报错)
a、必须要传对应个数的参数
b、参数传递必须以正确的顺序传入,参数的传递位置要与实际期望传值一一对应
关键字参数
定义:def foo(**kwargs):pass,
其中kwargs是一个字典
调用1:foo(k1=v1, k2=v2) 参数传入键值对
调用2:foo(**d) 参数传入字典d
# 关键字参数
def test_function(name,age):
print('我是一个测试函数')
print(name,age)
test_function(age='老王',name=20)
不定长参数
*args
# *args
#这意味着函数可以接受任意数量的参数,这些参数将作为一个元组(tuple)传递给函数。
def test_function(*args):
print(args)
test_function('name','age')
**kwargs
# **kwargs
#接收关键字参数,并将它们作为一个字典传递给函数
def test_function(**kwargs):
print(kwargs)
test_function(name='name',age='age')
区别
def example_function(*args, **kwargs):
print("Positional arguments (*args):", args)
print("Keyword arguments (**kwargs):", kwargs)
# 调用函数
example_function('apple', 'banana', 'cherry', color='red', size='large')
在这个例子中,‘apple’, ‘banana’, 'cherry’是位置参数,而color=‘red’, size='large’是关键字参数。*args将位置参数打包成一个元组,而**kwargs将关键字参数打包成一个字典。
拆包(了解)
*用法
test01(*list_1) # 相当于 test01(1,2,3)
# * 解压用法
def test01(*args):
print(args)
test01(1,2,3)
list_1=[1,2,3]
test01(*list_1) # 相当于 test01(1,2,3)
**用法
test01(**dict_1) # 相当于 test01(key1=‘val1’,key2=‘val2’)
# **
def test01(**args):
print(args)
test01(key1='val1',key2='val2')
dict_1={'key1':'val1','key2':'val2'}
test01(**dict_1) # 相当于 test01(key1='val1',key2='val2')