Python基础(八、函数的妙用,猫捉老鼠游戏)
一、定义函数
在Python中,使用def关键字来定义一个函数,具体的语法如下:
def function_name(parameter1, parameter2, ...):
"""函数说明文档"""
# 函数体
# 可以包含一系列操作
return return_value # 可选
- function_name 是函数的名称,自定义命名规则遵循Python的命名规范。
- parameter1, parameter2, … 是函数的参数,可以是多个,也可以为空。
- 函数体内包含了一系列操作,可以是任意合法的Python代码。
- return_value 是函数的返回值,可以选择性地返回一个或多个值。
函数说明
在函数定义的第一行引号中,我们可以编写函数的说明文档,用于描述函数的功能、参数和返回值等信息。这样的说明文档可以帮助其他开发者更好地理解和使用该函数。
二、函数调用
定义了函数之后,我们可以通过函数名加上参数列表的方式来调用函数,例如:
result = function_name(arg1, arg2)
这样就会执行function_name函数,并将arg1和arg2作为参数传递给函数。如果函数有返回值,那么可以将返回值赋给变量result。
示例
下面是一个简单的示例,演示了一个接受多个入参并返回结果的Python函数:
def add(a, b):
"""计算两个数的和"""
result = a + b
return result
sum = add(3, 5)
print(sum) # 输出结果为8
在这个示例中,add函数接受两个参数a和b,然后计算它们的和并返回结果。通过调用add函数,并传入参数3和5,我们得到了返回值8,并将其打印输出。
注意,在Python中,默认的返回值是None,这意味着如果函数没有明确指定返回值,那么它将返回None。所以,在函数体中,我们可以省略return语句,即使没有返回值,函数也会正常执行。
除了简单的示例外,Python函数还可以接受默认参数、可变参数、关键字参数等,具体用法可以根据实际需求进行灵活运用。
三、局部变量和全局变量
局部变量是在函数内部定义的变量,其作用范围仅限于函数内部。这意味着局部变量只能在定义它们的函数内部使用,对于其他函数或代码块而言是不可见的。
全局变量是在函数外部定义的变量,其作用范围涵盖整个程序。这意味着全局变量可以在任何函数或代码块中使用和修改。
下面是一个示例,展示了局部变量和全局变量的用法:
# 全局变量
global_var = 10
def my_function():
# 局部变量
local_var = 20
print("局部变量 local_var =", local_var)
print("全局变量 global_var =", global_var)
def another_function():
# 修改全局变量
global global_var
global_var = 30
print("函数内修改后的全局变量 global_var =", global_var)
# 调用函数
my_function()
another_function()
# 在函数外部访问全局变量
print("函数外部的全局变量 global_var =", global_var)
在这个示例中,我们定义了一个全局变量 global_var 并赋予其初始值为 10。
然后,我们在函数 my_function() 中定义了一个局部变量 local_var 并赋予其初始值为 20。
在函数内部,我们分别打印了局部变量和全局变量的值。
接着,我们定义了另一个函数 another_function(),它修改了全局变量 global_var 的值为 30。
在函数外部,我们再次打印了全局变量的值,可以看到在函数内部对全局变量的修改是生效的。
最后,我们在函数外部访问并打印了全局变量的值。
输出结果如下:
局部变量 local_var = 20
全局变量 global_var = 10
函数内修改后的全局变量 global_var = 30
函数外部的全局变量 global_var = 30
函数内局部变量升级为全局变量
要将函数内的局部变量声明为全局变量,请在函数内部使用 global 关键字并指定要声明为全局变量的变量名称。
下面是一个示例,演示如何将函数内的局部变量转换为全局变量:
def my_function():
# 声明变量为全局变量
global local_var
local_var = 20
print("局部变量 local_var =", local_var)
# 调用函数
my_function()
# 在函数外部访问全局变量
print("函数外部的全局变量 local_var =", local_var)
输出结果如下:
局部变量 local_var = 20
函数外部的全局变量 local_var = 20
通过使用 global 关键字声明变量为全局变量,我们可以在函数内部将局部变量转换为全局变量,并在函数外部进行访问。
请注意,在函数内部使用 global 关键字声明变量为全局变量是一种修改作用域规则的行为,因此需要谨慎使用。过多地使用全局变量可能会导致代码可读性和维护性的问题。
总结
Python函数是编写Python程序时不可或缺的一部分,它可以帮助我们组织和重用代码。通过定义多个参数和返回值,函数可以灵活应对各种需求,提高代码的复用性和可维护性。希望本文能够帮助你更好地理解Python函数的使用方法,并在实际开发中加以运用。
猫捉老鼠小游戏
import random
def play_game():
"""猫捉老鼠游戏主程序"""
cat_position = 0
mouse_position = 10
print("猫捉老鼠游戏开始!")
print(f"猫的位置:{cat_position}")
print(f"老鼠的位置:{mouse_position}")
while True:
cat_move = random.choice([-1, 1])
mouse_move = random.choice([-1, 1])
cat_position += cat_move
mouse_position += mouse_move
print(f"猫向{cat_move}移动,新位置:{cat_position}")
print(f"老鼠向{mouse_move}移动,新位置:{mouse_position}")
if cat_position == mouse_position:
print("猫抓到了老鼠!")
break
play_game()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!