Python自学笔记十二:函数

用钢铁意志,成就不平凡人生。

上期我们学习了input()函数和while循环https://blog.csdn.net/m0_71721954/article/details/131158697

接下来我们学习函数

函数定义

Python函数是一段可重复使用的代码块,可以接受输入参数并返回结果。函数可以帮助我们组织和封装代码,使其更具可读性、可维护性和复用性。

在Python中,你可以通过以下方式定义一个函数:
 

def function_name(parameters):
    # 函数体
    # 执行特定操作
    # 返回结果(可选)

其中,`function_name` 是函数的名称,你可以根据需要自定义命名。`parameters`(也称为函数参数)是函数接受的输入参数,可以有多个参数或者没有参数。函数体是包含在函数内部的代码块,它定义了函数应该执行的操作。

传递实参

在调用函数时,你可以通过传递实参来向函数传递数据。在Python中,有几种不同的方式可以传递实参给函数:

1. 位置参数(Positional arguments):这是最常见的一种方式,实参按照函数定义中参数的顺序进行传递。例如:
 

def greet(name, age):
    print("Hello, " + name + "! You are " + str(age) + " years old.")
greet("Alice", 25)

在上面的例子中,我们定义了一个 `greet` 函数,接受两个位置参数 `name` 和 `age`。当我们调用 `greet("Alice", 25)` 时,将会按照传递的实参顺序依次赋值给函数中的参数。

2. 关键字参数(Keyword arguments):通过指定参数名和对应的值来传递实参,可以不考虑参数的顺序。例如:
 

def greet(name, age):
    print("Hello, " + name + "! You are " + str(age) + " years old.")
greet(age=25, name="Alice")

在上面的例子中,我们通过指定参数名来传递实参,不再依赖于位置。调用 `greet(age=25, name="Alice")` 会根据参数名将实参传递给相应的参数。

3. 默认参数(Default arguments):在函数定义时,可以为参数设置默认值。如果在函数调用时没有传递对应参数的实参,则使用默认值。例如:
 

def greet(name, age=18):
    print("Hello, " + name + "! You are " + str(age) + " years old.")
greet("Alice")

在上面的例子中,我们为 `age` 参数设置了默认值 18。如果调用 `greet("Alice")` 时没有传递 `age` 的实参,函数会使用默认值。

返回值

当函数执行完毕后,你可以使用 `return` 语句返回一个值给调用函数的地方。这个返回值可以是任何数据类型,包括数字、字符串、列表、字典等。例如,下面是一个简单的函数示例,它接受两个参数并返回它们的和:
 

def add(a, b):
    return a + b
result = add(3, 5)
print(result)

在上面的代码中,`add` 函数接受两个参数 `a` 和 `b`,并使用 `return` 语句将它们的和作为返回值。当我们调用 `add(3, 5)` 时,返回值 8 被赋值给变量 `result`,然后打印输出。

注意,使用 `return` 语句会结束函数的执行并将控制权交还给调用函数的地方。因此,如果在函数内部有多个 `return` 语句,只有第一个被执行到的 `return` 语句会生效。

如果函数没有显式地使用 `return` 语句,或者 `return` 后面没有跟任何值,则默认返回 `None`。`None` 是Python中表示空值或缺失值的特殊对象。以下是一个没有返回值的函数示例:
 

def greet(name):
    print("Hello, " + name + "!")
result = greet("Alice")
print(result)  
# 输出 None

在上面的代码中,`greet` 函数没有使用 `return` 语句,因此调用 `greet("Alice")` 返回的值是 `None`,然后打印输出。

返回值允许函数将结果传递给调用函数的地方,并且可以在函数外部进行进一步处理或使用。

将函数存储在模块中

将函数存储在模块中可以使其在多个程序中重复使用,并提供更好的代码组织和维护。一个模块是一个包含 Python 定义和语句的文件,它的扩展名通常是 `.py`。

下面是一个简单的示例,展示了如何将函数存储在模块中:

首先,创建一个名为 `my_module.py` 的文件,并在其中定义一个函数:

# my_module.py

def greet(name):
    print("Hello, " + name + "!")
def add(a, b):
    return a + b

保存该文件后,你可以在其他程序中导入这个模块,并使用其中定义的函数。以下是一个使用 `my_module` 模块的示例:
# main.py

import my_module
my_module.greet("Alice")
result = my_module.add(3, 5)
print(result)  # 输出 8

在上面的代码中,我们使用 `import` 关键字导入了 `my_module` 模块。然后,就可以通过 `my_module.<function_name>` 的方式访问模块中的函数。

调用 `my_module.greet("Alice")` 将会执行 `my_module` 模块中的 `greet` 函数,打印输出 "Hello, Alice!"。调用 `my_module.add(3, 5)` 返回结果 8,然后打印输出。

通过将函数存储在模块中,你可以创建一个可重用并具有独立功能的代码库。只需在需要使用这些函数的地方导入模块,并使用其中定义的函数即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ironmao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值