python函数的基础

python函数的目的

Python 函数的主要目的是封装可重用的代码块,以便在程序的不同部分中多次调用这些代码块,从而提高代码的可读性、可维护性和可重用性。函数通过定义一组特定的操作(通常与某种计算或数据处理任务相关联)来工作,这些操作可以接收输入(称为参数)并可能返回输出(称为返回值)。
1.提高代码的复用
2.减少代码的重复性
3.提高了写代码的效率
4.使代码清晰,方便修改错误

python函数的定义

在Python中,函数是通过def关键字来定义的。函数定义的基本语法如下:

def 函数名(参数列表):  
    """函数文档字符串(可选)"""  
    # 函数体  
    # 可以是任何有效的Python代码  
    # 可以使用return语句返回一个值(可选)  
    return 返回值  # 如果函数不需要返回任何值,可以省略return语句

函数名:是标识符的一种,用于唯一标识函数。函数名后面跟着一对圆括号,圆括号中可以包含一些变量名,这些变量名被称为函数的参数**。
参数列表:是函数接收外部传入数据的接口。参数列表中的每个参数都是函数的局部变量,它们仅在函数内部有效。参数列表是可选的,如果函数不需要接收任何参数,那么圆括号内可以留空。
函数文档字符串(也称为docstring):是一个可选的字符串,用于描述函数的功能、参数、返回值等信息。它应该紧跟在函数定义的第一行,并使用三引号(“”")包围。
函数体:是函数内部包含的代码块,用于实现函数的具体功能。函数体以冒号(:)开始,并且必须缩进。
返回值:是函数执行完毕后返回给调用者的值。如果函数不需要返回任何值,可以使用return语句单独出现(不带任何值),或者完全省略return语句。

python函数的调用

在python中定义过一个函数就可以调用
函数名(参数列表)
函数名:是之前通过def关键字定义的函数的名称。
参数列表:是传递给函数的值或变量的列表。这些值必须与函数定义时指定的参数数量、顺序和类型相匹配(除非使用了默认参数、可变参数或关键字参数等高级特性)。

返回值

如果函数通过return语句返回了一个值,那么该值会成为函数调用的结果。如果函数没有使用return语句,或者return语句后面没有跟任何值,那么函数将返回None。

python的参数列表

不带参数的函数调用
如果函数定义时没有指定任何参数,那么在调用时也不需要在圆括号内提供任何实参。

def say_hello():  
    """打印问候语"""  
    print("Hello, World!")  
  
# 调用函数  
say_hello()  # 输出: Hello, World!

在Python中,函数的参数类型主要分为几种,这些类型在函数定义时指定,并在函数调用时提供相应的值。以下是Python函数参数的主要类型:

位置参数

位置参数也称为必传参数,是最常见的参数类型。在调用函数时,实参的顺序必须与函数定义时形参的顺序一致。如果函数定义中包含了位置参数,那么在调用函数时必须提供相应数量的实参。

def add(x, y):  
    return x + y  
  
result = add(3, 4)  # 调用函数时,必须按顺序提供两个参数  
print(result)  # 输出: 7

关键字参数

关键字参数允许在调用函数时通过参数名来指定参数值,这样就不需要遵循参数在函数定义中的顺序了。同时,关键字参数也允许在调用时只传递部分参数(只要这些参数不是位置参数)。

def greet(name, greeting="Hello"):  
    print(f"{greeting}, {name}!")  
  
greet(name="Alice")  # 使用关键字参数指定name的值  
greet(greeting="Hi", name="Bob")  # 同时使用关键字参数指定greeting和name的值

默认值参数

默认值参数在函数定义时就被赋予了一个默认值。如果在调用函数时没有为这些参数提供值,那么就会使用它们的默认值。需要注意的是,默认值参数必须放在位置参数之后。

def greet(name, greeting="Hello"):  
    print(f"{greeting}, {name}!")  
  
greet("Alice")  # 调用时只提供了name的值,greeting使用默认值

可变参数

Python提供了两种方式来处理可变长度的参数:*args和**kwargs。

*args:用于接收任意数量的位置参数,并将它们存储在一个元组中。
**kwargs:用于接收任意数量的关键字参数,并将它们存储在一个字典中。

def func(*args, **kwargs):  
    print("args:", args)  # args是一个元组  
    print("kwargs:", kwargs)  # kwargs是一个字典  
  
func(1, 2, 3, name="Alice", age=30)  
# 输出:  
# args: (1, 2, 3)  
# kwargs: {'name': 'Alice', 'age': 30}

命名关键字参数

命名关键字参数通过在一个星号(*)后面定义参数名来指定,这样这些参数就只能通过关键字参数的形式来传递了。这有助于限制传递给函数的参数名称。

def person(name, age, *, city, job):  
    print(f"{name} is {age} years old. They live in {city} and work as a {job}.")  
  
person("Alice", 30, city="New York", job="Developer")  
# 输出: Alice is 30 years old. They live in New York and work as a Developer.

总结

Python函数的参数类型包括位置参数、关键字参数、默认值参数、可变参数(*args和**kwargs)以及命名关键字参数。这些参数类型提供了灵活的方式来定义和调用函数,使得Python函数能够处理各种复杂的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值