睡着了,又好像醒着,如睡如醒
下一个知识点仍然是函数,这是没想到的,深入观看之后才发现是对函数概念的补充,索性起名,函数再临系列,主要概念还是定义 参数 和 return 的介绍和使用,以及默认值传参的和return的使用要点
'''
函数
定义:一个封装了可重复使用代码的代码块,用于完成特定任务。函数可以接收输入参数,执行代码,并返回结果。
参数:
形参:在定义函数时定义的参数。
实参:在调用函数时传递给形参的参数。
传参方式:
位置参数
定义:按照位置传递的参数。
示例:
```python
def add(a, b):
return a + b
add(1, 2) # 1 和 2 是位置参数
```
关键字参数
定义:通过参数名传递的参数。
示例:
```python
def greet(name, message):
print(f"{message}, {name}!")
greet(name="Alice", message="Hello") # name 和 message 是关键字参数
```
默认值参数
定义:具有默认值的参数。
示例:
```python
def greet(name, message="Hello"):
print(f"{message}, {name}!")
greet("Alice") # 使用默认值参数 message="Hello"
```
※ 注意:带有默认值的形参变量必须放在所有不带默认值的形参变量之后
return:用于返回函数的结果并结束函数,也可用于结束循环
示例1 return 返回值可以返回列表、字典和元组等:
```python
def process():
return 1, "hello", [3, 4, 5]
result = process()
print(result) # 输出:(1, 'hello', [3, 4, 5])
```
示例2 结束循环和函数:
```python
def find_first_even(numbers):
for number in numbers:
if number % 2 == 0:
return number # 结束循环和函数
return None # 如果没有找到偶数,返回 None
result = find_first_even([1, 3, 5, 8, 9])
print(result) # 输出:8
```
※ 注意:
1. return 看似是多个变量,但最终会返回到元组类型变量中,相当于打包
2. return 不仅用于返回值,还可以结束函数的执行。如果在函数内部的循环中使用 return 它会立即结束函数和循环的执行,而 break 只会结束循环,这是主要区别
'''
# 参数 位置传参
print('----------------参数 位置传参-----------------')
"""
function1函数
作用:用来测试位置传参,并将传参打印出来
num1: 任意类型形参变量
num2: 任意类型形参变量
num3: 任意类型形参变量
"""
def function1(num1, num2, num3): # 定义函数,形参接收变量
print(num1, num2, num3) # 代码块执行
num1, num2, num3 = 1, '你好', '世界' # 变量赋值
function1(num1, num2, num3) # 实参位置传参
# 参数 关键字传参
print('----------------参数 关键字传参-----------------')
"""
function2函数
作用:用来测试关键字传参,并将传参打印出来
num1: 任意类型形参变量
num2: 任意类型形参变量
num3: 任意类型形参变量
"""
def function2(num1, num2, num3): # 定义函数,形参接收变量
print(num1, num2, num3) # 代码块执行
function2(num3='吗?', num2='你好', num1=2) # 实参关键字传参
# 参数 默认值传参
print('----------------参数 默认值传参-----------------')
"""
function3函数
作用:用来测试默认值传参,并将传参打印出来
num1: 任意类型形参变量
num2: 任意类型形参变量
num3='默认值发作': 任意类型,带有默认值的形参变量,值是 "默认值发作"
"""
def function3(num1, num2, num3='默认值发作'): # 定义函数,形参接收变量
print(num1, num2, num3) # 代码块执行
function3(3, '你好') # 实参位置+默认值传参
function3(num2='你好', num1=3) # 实参关键字+默认值传参
function3(num3='吗?', num2='你好', num1=3) # 实参关键字传参+默认值传参,默认值覆盖
# return
print('----------------return-----------------')
"""
function4函数
作用:用来测试 return 并返回数据
num0: 浮点类型,用于判断并执行不同语句块
num1: 任意类型形参变量
num2: 任意类型形参变量
num3: 任意类型形参变量
"""
def function4(num0, num1, num2, num3): # 定义函数,形参接收变量
if num0 == 4.2:
return [num1, num2, num3] # return 代码块执行,返回列表
elif num0 == 4.1:
return {num0: num1, num2: num2, num3: num3} # return 代码块执行,返回字典
elif num0 == 4.3:
return num1, num2, num3 # return 代码块执行,返回并默认打包为元组
else:
line_str = ''
for i in range(3):
line_str += str(i)+' '
if i == 2: # 判断循环结束条件
return line_str, '->', num1, num2, num3, '执行完毕结束循环和函数' # return 代码块执行,结束循环和函数,返回提示输出结果
return_variable = function4(4.1, 4, '你好', '世界@_@') # 实参位置传参并赋值
print(return_variable, type(return_variable)) # 打印返回结果
return_variable = function4(4.2, 4, '你好', '世界?') # 实参位置传参并赋值
print(return_variable, type(return_variable)) # 打印返回结果
return_variable = function4(4.3, 4, '你好', '世界!') # 实参位置传参并赋值
print(return_variable, type(return_variable)) # 打印返回结果
return_variable = function4(4.4, 4, '你好', '世界!') # 实参位置传参并赋值
print(return_variable, type(return_variable)) # 打印返回结果
参考
25 函数定义_哔哩哔哩_bilibili
26 函数参数_哔哩哔哩_bilibili
27 函数返回值_哔哩哔哩_bilibili
Python-Core-50-Courses/第13课:函数和模块.md at master · jackfrued/Python-Core-50-Courses · GitHub
Python-Core-50-Courses/第14课:函数的应用.md at master · jackfrued/Python-Core-50-Courses · GitHub
Python-Core-50-Courses/第15课:函数使用进阶.md at master · jackfrued/Python-Core-50-Courses · GitHub
Python-Core-50-Courses/第16课:函数的高级应用.md at master · jackfrued/Python-Core-50-Courses · GitHub