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函数的使用方法,并在实际开发中加以运用。

猫捉老鼠小游戏

Python基础(八、函数的妙用,猫捉老鼠游戏)_第1张图片

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()

你可能感兴趣的:(python,python,游戏,学习)