Python学习计划——3.1定义和调用函数

函数是组织代码的基本单元,它可以将一组操作封装在一起,使代码更模块化、可重用和易于维护。Python 提供了灵活的函数定义和调用机制。

1. 定义函数

函数的定义使用 def 关键字,后跟函数名、参数列表和函数体。函数体必须缩进。

基本语法
def function_name(parameters):
    """文档字符串,可选"""
    # 函数体
    return expression
  • function_name:函数名,用于标识函数。
  • parameters:函数的参数列表,可选。
  • """文档字符串""":描述函数用途的文档字符串,可选。
  • return:返回值,可选。
示例
def greet(name):
    """打印问候语"""
    print(f"Hello, {name}!")
2. 调用函数

定义函数后,可以通过调用函数来执行其代码。调用函数时,传递的实参会赋值给形参。

示例
# 调用函数
greet("Alice")  # 输出: Hello, Alice!
3. 参数传递

Python 的函数支持多种参数传递方式,包括位置参数、关键字参数、默认参数和不定长参数。

位置参数

参数按位置传递,按定义顺序赋值。

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

print(add(2, 3))  # 输出: 5
关键字参数

参数按名称传递,赋值给指定的形参。

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

print(add(a=2, b=3))  # 输出: 5
print(add(b=3, a=2))  # 输出: 5
默认参数

参数可以有默认值,调用时可以省略这些参数。

def greet(name, message="Hello"):
    print(f"{message}, {name}!")

greet("Alice")         # 输出: Hello, Alice!
greet("Bob", "Hi")     # 输出: Hi, Bob!
不定长参数

使用 *args**kwargs 接受任意数量的位置参数和关键字参数。

def print_args(*args):
    for arg in args:
        print(arg)

print_args(1, 2, 3)  # 输出: 1 2 3

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

print_kwargs(name="Alice", age=25)  # 输出: name: Alice  age: 25
4. 函数的返回值

函数可以返回一个值,也可以返回多个值。使用 return 语句返回值。

返回单个值
def add(a, b):
    return a + b

result = add(2, 3)
print(result)  # 输出: 5
返回多个值
def get_name_and_age():
    name = "Alice"
    age = 25
    return name, age

name, age = get_name_and_age()
print(name, age)  # 输出: Alice 25
5. 可运行的Python案例

下面是一个完整的Python程序,演示了定义和调用函数、参数传递和返回值的使用。

# 定义函数
def greet(name, message="Hello"):
    """打印问候语"""
    print(f"{message}, {name}!")

def add(a, b):
    """返回两个数的和"""
    return a + b

def print_args(*args):
    """打印所有位置参数"""
    for arg in args:
        print(arg)

def print_kwargs(**kwargs):
    """打印所有关键字参数"""
    for key, value in kwargs.items():
        print(f"{key}: {value}")

def get_name_and_age():
    """返回名字和年龄"""
    name = "Alice"
    age = 25
    return name, age

# 调用函数
greet("Alice")              # 输出: Hello, Alice!
greet("Bob", "Hi")          # 输出: Hi, Bob!

result = add(2, 3)
print(f"2 + 3 = {result}")  # 输出: 2 + 3 = 5

print("位置参数:")
print_args(1, 2, 3)         # 输出: 1 2 3

print("关键字参数:")
print_kwargs(name="Alice", age=25)  # 输出: name: Alice  age: 25

name, age = get_name_and_age()
print(f"Name: {name}, Age: {age}")  # 输出: Name: Alice, Age: 25

可以将上面的代码复制到你的IDE中运行,观察程序的输出。这个案例综合了函数定义和调用、参数传递和返回值的基本知识,帮助你理解和掌握这些操作。继续加油,学习Python会越来越有趣和有用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值