Python基础教程(Python 函数)

在 Python 中,函数是一段可重复使用的代码块,它可以接受输入参数并返回输出结果。使用函数可以提高代码的复用性和可维护性。以下是关于 Python 函数的详细基础教程:

1. 函数的定义

在 Python 中,使用def关键字来定义一个函数,其基本语法如下:
def function_name(parameters):
    """函数文档字符串,用于描述函数的功能和使用方法"""
    # 函数体,包含具体的代码逻辑
    statements
    return result  # 可选,用于返回函数的结果
  • function_name:函数的名称,遵循 Python 的命名规则。
  • parameters:函数的参数列表,可以有零个或多个参数,多个参数之间用逗号分隔。
  • statements:函数体,包含具体的代码逻辑。
  • return:可选语句,用于返回函数的结果。如果没有return语句,函数默认返回None

示例:
def greet(name):
    """该函数用于向指定的人打招呼"""
    return f"Hello, {name}!"

# 调用函数
message = greet("Alice")
print(message)  # 输出: Hello, Alice!

2. 函数的参数

Python 函数的参数可以分为以下几种类型:

2.1 位置参数

位置参数是最常见的参数类型,调用函数时需要按照参数的顺序依次传递值。
 
 
def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 输出: 8

2.2 默认参数

默认参数是在定义函数时为参数指定一个默认值。如果调用函数时没有提供该参数的值,则使用默认值。

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

message1 = greet("Bob")
message2 = greet("Bob", "Hi")
print(message1)  # 输出: Hello, Bob!
print(message2)  # 输出: Hi, Bob!

2.3 可变参数

可变参数允许函数接受任意数量的参数。在 Python 中,有两种类型的可变参数:*args**kwargs
  • *args:用于接受任意数量的位置参数,它将这些参数打包成一个元组。
def sum_numbers(*args):
    total = 0
    for num in args:
        total += num
    return total

result = sum_numbers(1, 2, 3, 4, 5)
print(result)  # 输出: 15
  • **kwargs:用于接受任意数量的关键字参数,它将这些参数打包成一个字典。
 
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=25, city="New York")
# 输出:
# name: Alice
# age: 25
# city: New York

3. 函数的返回值

函数可以使用return语句返回一个或多个值。如果返回多个值,这些值将被打包成一个元组。
 
def get_name_and_age():
    name = "Bob"
    age = 30
    return name, age

result = get_name_and_age()
print(result)  # 输出: ('Bob', 30)

# 解包返回值
name, age = get_name_and_age()
print(name)  # 输出: Bob
print(age)   # 输出: 30

4. 匿名函数(Lambda 函数)

Lambda 函数是一种简洁的、匿名的函数,通常用于简单的、一次性的操作。其基本语法如下:
 
lambda arguments: expression
  • arguments:函数的参数列表。
  • expression:函数的返回值表达式。

示例:
 
# 定义一个Lambda函数
add = lambda a, b: a + b

result = add(3, 5)
print(result)  # 输出: 8

5. 函数的作用域

Python 中的变量有不同的作用域,主要分为全局作用域和局部作用域。
  • 全局作用域:在函数外部定义的变量具有全局作用域,可以在整个程序中访问。
  • 局部作用域:在函数内部定义的变量具有局部作用域,只能在函数内部访问。
# 全局变量
global_var = 10

def test_function():
    # 局部变量
    local_var = 20
    print(global_var)  # 可以访问全局变量
    print(local_var)   # 可以访问局部变量

test_function()
# print(local_var)  # 会报错,因为局部变量只能在函数内部访问

6. 递归函数


递归函数是指在函数内部调用自身的函数。递归函数通常用于解决可以分解为相同子问题的问题。
def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n - 1)

result = factorial(5)
print(result)  # 输出: 120

以上就是 Python 函数的基础教程,通过学习和使用函数,你可以编写出更加模块化、可维护的 Python 代码。

posted on   数据与人文  阅读(11)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2024-03-04 MySQL 查找并删除重复行
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示