引言
在前面的课程中,我们已经学习了 Python 的基本输入输出、数据类型及其转换、顺序结构、分支结构、循环结构、循环控制语句、字符串类型、列表类型、元组类型、字典类型、集合类型以及函数的定义与使用。本课时将介绍 Python 中的函数调用与作用域,包括如何调用函数、局部变量与全局变量的概念,并通过一个具体的示例来展示如何使用函数解决实际问题。
函数调用
调用函数是执行函数体中的代码的过程。在 Python 中,调用函数的基本语法如下:
function_name(arguments)
function_name
:函数名。arguments
:传递给函数的参数,可以没有参数,也可以有多个参数,参数之间用逗号,
分隔。
示例:调用函数
def greet(name):
print(f"Hello, {name}!")
greet("Alice") # 调用函数
局部变量与全局变量
在 Python 中,变量的作用域决定了变量在哪些地方可以被访问。主要有两种变量作用域:局部变量和全局变量。
-
局部变量:
- 局部变量是在函数内部定义的变量,只能在函数内部访问。
def my_function(): local_var = 10 # 局部变量 print(local_var) my_function() # 输出 10 # print(local_var) # 报错:NameError: name 'local_var' is not defined
-
全局变量:
- 全局变量是在函数外部定义的变量,可以在整个模块中访问。
global_var = 20 # 全局变量 def my_function(): print(global_var) my_function() # 输出 20 print(global_var) # 输出 20
-
修改全局变量:
- 如果在函数内部需要修改全局变量,需要使用
global
关键字声明。
global_var = 20 def modify_global(): global global_var global_var = 30 print(global_var) # 输出 20 modify_global() print(global_var) # 输出 30
- 如果在函数内部需要修改全局变量,需要使用
使用函数解决实际问题
现在我们通过一个具体的示例来展示如何使用函数解决实际问题。假设我们需要编写一个程序,该程序可以计算一个列表中所有奇数的平方和。
示例代码:
# 定义一个函数,计算一个列表中所有奇数的平方和
def sum_of_squares_of_odds(numbers):
""" 计算列表中所有奇数的平方和。"""
total = 0
for number in numbers:
if number % 2 != 0:
total += number ** 2
return total
# 定义一个函数,生成一个包含 n 个随机整数的列表
def generate_random_numbers(n, lower_bound, upper_bound):
""" 生成一个包含 n 个随机整数的列表。"""
import random
return [random.randint(lower_bound, upper_bound) for _ in range(n)]
# 主程序
def main():
# 生成一个包含 10 个随机整数的列表
random_numbers = generate_random_numbers(10, 1, 100)
print(f"生成的随机数列表:{random_numbers}")
# 计算奇数的平方和
result = sum_of_squares_of_odds(random_numbers)
print(f"奇数的平方和:{result}")
# 运行主程序
if __name__ == "__main__":
main()
示例解析
-
定义函数
sum_of_squares_of_odds
:- 该函数接收一个列表
numbers
,计算列表中所有奇数的平方和。 - 使用
for
循环遍历列表中的每个元素,如果是奇数,则计算其平方并累加到total
中。 - 最后返回
total
。
- 该函数接收一个列表
-
定义函数
generate_random_numbers
:- 该函数生成一个包含
n
个随机整数的列表。 - 使用
random.randint()
函数生成随机整数,并使用列表推导式生成列表。
- 该函数生成一个包含
-
主程序
main
:- 生成一个包含 10 个随机整数的列表,并打印该列表。
- 调用
sum_of_squares_of_odds
函数计算奇数的平方和,并打印结果。
小结
通过本课时的学习,你已经掌握了 Python 中的函数调用与作用域,并通过一个具体的示例展示了如何使用函数解决实际问题。理解局部变量与全局变量的概念对于编写清晰、高效的代码非常重要。函数作为重要的编程构造,可以帮助我们更好地组织代码,减少重复代码,提高代码的可读性和可维护性。
标签:random,函数,作用域,global,函数调用,列表,print,var From: https://blog.csdn.net/qq_57335683/article/details/142358341