有参无返回值
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)
### 一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

### 二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

### 三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

**了解详情:https://docs.qq.com/doc/DSnl3ZGlhT1RDaVhV**