自行设计简单的函数实现(具体功能不限),并完成以下实验:(1)默认参数的使用;(2)函数的返回值(包括无返回值、一个及多个返回值);(3)变量的作用域;(4)在函数内部使用全局变量;(4)在函数内部修改全局变量的值;(5)以可变数据类型(例如列表和字典)作为参数,在函数内部对其进行修改,并检验函数调用前后对应变量的值的变化情况;(6)参考“3.2 有关函数的更多信息.pdf”中的“重新赋值与修改(Reassignment vs Modifying)”部分内容,设计相关实验以检验在函数体内部修改值和重新分配变量名称之间的区别。
时间: 2023-12-27 15:05:21 浏览: 68
以下是一个实现多个功能的函数,用于演示上述实验:
```python
# 默认参数的使用
def calculate(num1, num2, operation="+"):
if operation == "+":
return num1 + num2
elif operation == "-":
return num1 - num2
elif operation == "*":
return num1 * num2
elif operation == "/":
return num1 / num2
# 函数的返回值
def get_max_min(numbers):
max_num = max(numbers)
min_num = min(numbers)
return max_num, min_num
# 变量的作用域
def print_global():
print("Global variable value:", global_var)
# 在函数内部使用全局变量
def use_global():
global_var = 5
print("Global variable value:", global_var)
# 在函数内部修改全局变量的值
def modify_global():
global global_var
global_var += 1
print("Global variable value:", global_var)
# 修改可变数据类型的值
def modify_list(numbers):
numbers.append(4)
# 重新赋值与修改的区别
def reassign_vs_modify(num):
num = num + 1
print("After reassigning, num is:", num)
num += 1
print("After modifying, num is:", num)
# 测试函数
global_var = 10
print(calculate(5, 3)) # 默认使用加法
print(calculate(5, 3, "-"))
print(get_max_min([1, 2, 3, 4, 5]))
print_global()
use_global()
modify_global()
print_global()
numbers = [1, 2, 3]
print("Before:", numbers)
modify_list(numbers)
print("After:", numbers)
num = 5
reassign_vs_modify(num)
print("Outside function, num is:", num)
```
输出结果如下:
```
8
2
(5, 1)
Global variable value: 10
Global variable value: 5
Global variable value: 11
Global variable value: 11
Before: [1, 2, 3]
After: [1, 2, 3, 4]
After reassigning, num is: 6
After modifying, num is: 7
Outside function, num is: 5
```
可以看到,该函数实现了多个功能,包括默认参数的使用、返回多个值、变量作用域、全局变量的使用和修改、可变数据类型的修改以及重新赋值和修改的区别。
阅读全文