15分钟学Python 第9天 :函数基础

Day 9: 函数基础

项目概述

本章节将深入探讨Python中的函数基础。我们从函数的定义、参数类型、返回值开始讲解,逐步引入高级概念,如匿名函数和高阶函数。通过实例与练习,加深对函数的理解和应用。

学习目标

  1. 理解函数的基本结构及其组成部分。
  2. 掌握不同类型的函数参数(位置参数、关键字参数、默认参数和可变参数)。
  3. 学会定义和调用函数,以及如何组织代码以提高可读性。
  4. 理解返回值及其重要性。
  5. 掌握lambda函数和高阶函数的基本使用。

函数的基本概念

1. 函数的定义

函数是将一系列操作封装在一起的代码块,可以根据需要进行调用。使用函数可以提高代码的可重复使用性和可读性。

1.1 函数的基本结构
def function_name(parameters):
    # 函数体
    return value

2. 示例代码

下面通过一个简单的例子创建一个函数,计算两个数的和并返回结果。

def add(a, b):
    return a + b

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

3. 参数类型

3.1 位置参数

当调用函数时,参数的传递是基于位置的。即调用时传入的参数顺序要与函数定义的顺序一致。

def multiply(x, y):
    return x * y

print(multiply(4, 5))  # 输出: 20
3.2 默认参数

可以在函数定义时为参数指定默认值,如果调用时未提供该参数,函数将使用默认值。

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

print(greet("Alice"))           # 输出: Hello, Alice!
print(greet("Bob", "Hi"))      # 输出: Hi, Bob!
3.3 关键字参数

在调用函数时,可以显式地指定参数名,顺序不再重要。

def full_name(first, last):
    return f"{first} {last}"

print(full_name(last="Doe", first="John"))  # 输出: John Doe
3.4 可变参数

使用*args和**kwargs来处理不定数量的参数。

  • *args用于传递位置参数。
  • **kwargs用于传递关键字参数。
def sum_all(*args):
    return sum(args)

print(sum_all(1, 2, 3, 4))  # 输出: 10

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=30)  # 输出: name: Alice \n age: 30

4. 返回值

在函数中,我们可以通过return语句返回一个值,调用该函数的地方可以接收这个返回值。

def square(n):
    return n ** 2

result = square(5)
print(result)  # 输出: 25

5. 代码运行流程图

以下是一个简单函数调用的流程图,展示了函数是如何执行的:

+-----------------+
|   调用函数      |
+-----------------+
        |
        v
+-----------------+
|   传递参数      |
+-----------------+
        |
        v
+-------------------+
|   执行函数体     |
+-------------------+
        |
        v
+-------------------+
|   返回结果       |
+-------------------+
        |
        v
+-------------------+
|   结束函数调用   |
+-------------------+

高级函数概念

1. 匿名函数

Python提供了lambda关键字来定义匿名函数。通常用在需要快速定义小函数的场合。

add = lambda x, y: x + y
print(add(3, 5))  # 输出: 8

2. 高阶函数

高阶函数是指接收函数作为参数或返回一个函数的函数。比如map()filter()reduce()等函数都属于高阶函数。

# 使用map函数
def square(x):
    return x ** 2

numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(square, numbers))
print(squared_numbers)  # 输出: [1, 4, 9, 16, 25]

3. 练习与实验

练习1: 创建一个简单的计算器

编写一个函数,接受两个数字和一个操作符(+、-、*、/),并返回计算结果。

def calculator(a, b, operation):
    if operation == '+':
        return a + b
    elif operation == '-':
        return a - b
    elif operation == '*':
        return a * b
    elif operation == '/':
        return a / b
    else:
        return "Invalid operation!"

print(calculator(10, 5, '+'))  # 输出: 15
print(calculator(10, 5, '/'))  # 输出: 2.0
练习2: 处理多个事件

编写一个程序,记录多个事件并为每个事件分配一个时间戳。

from datetime import datetime

events = []

def add_event(event_name):
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    events.append((event_name, timestamp))
    return f"Event '{event_name}' added at {timestamp}"

print(add_event("Meeting"))
print(add_event("Lunch"))
print(events)  # 输出所有事件

总结与反思

通过本次学习,我们深入理解了Python中的函数基础,掌握了函数的定义、参数的使用、返回值以及匿名函数和高阶函数的概念。函数的使用,使得代码更加模块化,提高了可读性和重用性。

参考资料

  1. Python官方文档
  2. Real Python - Functions

在这里插入图片描述

怎么样今天的内容还满意吗?再次感谢观众老爷的观看。
最后,祝您早日实现财务自由,还请给个赞,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值