Python--函数入门

1. 函数基础概念

1.1 什么是函数

  • 定义:函数是一段可重复调用的代码块,用于封装特定功能。

  • 核心作用

    • 代码重用:减少重复代码的编写。
    • 增强可读性:通过命名和模块化让代码逻辑更清晰。

1.2 函数的定义与调用

def 函数名(参数):
    """函数文档字符串(可选)"""
    函数体代码
    return 返回值  # 可选

# 示例
def greet(name):
    """向用户打招呼"""
    print(f"Hello, {name}!")

greet("Alice")  # 输出:Hello, Alice!

1.3 函数的应用场景

  • 场景1:重复代码封装

    def send_alert(email):
        # 发送邮件的10行代码
        pass
    
    if cpu_usage > 90:
        send_alert("admin@example.com")
    
  • 场景2:复杂逻辑分块

    def check_straight(cards):
        """判断是否为顺子"""
        pass
    
    def check_flush(cards):
        """判断是否为同花"""
        pass
    

2. 函数参数详解

2.1 位置参数与关键字参数

  • 位置传参:按参数定义顺序传递值。

    def add(a, b):
        return a + b
    
    add(3, 5)  # 输出:8
    
  • 关键字传参:通过参数名指定值,顺序可调。

    add(a=3, b=5)  # 输出:8
    add(b=5, a=3)  # 输出:8
    

2.2 默认参数

  • 定义时指定默认值,调用时可省略。

    def power(base, exponent=2):
        return base ** exponent
    
    power(3)    # 输出:9(使用默认指数2)
    power(3, 3) # 输出:27
    

2.3 动态参数

  • *args​:接收任意数量的位置参数,存储为元组。

    def sum_all(*args):
        return sum(args)
    
    sum_all(1, 2, 3)  # 输出:6
    
  • ​**kwargs​:接收任意数量的关键字参数,存储为字典。

    def print_info(**kwargs):
        for key, value in kwargs.items():
            print(f"{key}: {value}")
    
    print_info(name="Alice", age=25)
    

2.4 参数传递的注意事项

  • 混合使用顺序:位置参数 → 默认参数 → *args​ → **kwargs​。

  • 不可变与可变对象

    • 不可变对象(如整数、字符串)在函数内修改时会创建新对象。
    • 可变对象(如列表、字典)在函数内修改会直接影响原对象。

3. 函数返回值

3.1 返回值的基本使用

def is_even(num):
    return num % 2 == 0

print(is_even(4))  # 输出:True

3.2 返回值的类型与特性

  • 多返回值:自动打包为元组。

    def min_max(nums):
        return min(nums), max(nums)
    
    result = min_max([3, 1, 4])  # (1, 4)
    
  • 无返回值:默认返回 None​。

3.3 利用返回值控制流程

def find_user(users, target):
    for user in users:
        if user == target:
            return True  # 找到后立即终止函数
    return False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值