Python函数基础详解(狠狠爱住)

函数的定义

在Python中,函数定义是指创建函数并定义其行为的过程。

一个简单的函数定义示例:

def greet(name):
    """这是一个向用户打招呼的函数"""
    print(f"Hello, {name}!")

greet("Alice")

在上面的示例中:

  • def 关键字用于定义函数。
  • greet 是函数的名称。
  • (name) 是函数的参数列表,这里定义了一个名为 name 的参数,用于接收用户的名字。
  • 冒号 : 表示函数定义的结束,下面缩进的代码块是函数体。
  • """这是一个向用户打招呼的函数""" 是函数的文档字符串(docstring),用于描述函数的功能和使用方法。可以使用 help() 函数查看函数的文档字符串。
  • print(f"Hello, {name}!") 是函数体,用于输出向用户打招呼的信息。

在调用函数时,只需使用函数名并传递参数即可。

在上面的示例中,greet("Alice") 调用了 greet 函数,并传递了一个参数 "Alice"

Python函数的定义可以包含以下几个组成部分:

  1. 函数名称: 用于唯一标识函数的名称。
  2. 参数列表: 函数可能接受的输入值,也称为参数或者形参。
  3. 函数体: 包含在函数内部的代码块,执行函数的具体任务。
  4. 返回值: 函数可以返回一个值,用 return 关键字指定。

另外,Python还支持默认参数、可变参数、关键字参数等高级函数定义方式,这些可以增加函数的灵活性和可用性。往下看:

函数参数

Python中的函数参数可以分为四种类型:位置参数、默认参数、可变位置参数和可变关键字参数。下面我将详细解释每种类型的参数:

  1. 位置参数: 位置参数是函数定义中最常见的参数类型。它们按照顺序传递给函数,调用函数时必须按照函数定义的顺序提供相应数量的参数。

    def add(x, y):
        return x + y
    
    result = add(3, 5)
    print(result)  # Output: 8
    
    

    xy 是位置参数,分别对应函数 add 的第一个和第二个参数。

  2. 默认参数: 默认参数在函数定义时就已经指定了默认值,调用函数时可以不传递对应的参数,使用默认值。

    def greet(name, greeting="Hello"):
        return f"{greeting}, {name}!"
    
    print(greet("Alice"))       # Output: Hello, Alice!
    print(greet("Bob", "Hi"))   # Output: Hi, Bob!
    
    greeting 是一个默认参数,如果调用函数时不提供该参数,将使用默认值 "Hello"
  3. 可变位置参数: 可变位置参数允许函数接受任意数量的位置参数。在函数定义时,在参数名前面加上一个星号 * 即可。

    def add_all(*args):
        result = 0
        for num in args:
            result += num
        return result
    
    print(add_all(1, 2, 3, 4))   # Output: 10
    

    *args 是一个可变位置参数,允许函数接受任意数量的位置参数,并将它们作为元组传递给函数体。

  4. 可变关键字参数: 可变关键字参数允许函数接受任意数量的关键字参数。在函数定义时,在参数名前面加上两个星号 ** 即可。

    def print_info(**kwargs):
        for key, value in kwargs.items():
            print(f"{key}: {value}")
    
    print_info(name="Alice", age=30, city="New York")
    # Output:
    # name: Alice
    # age: 30
    # city: New York
    

    **kwargs 是一个可变关键字参数,允许函数接受任意数量的关键字参数,并将它们作为字典传递给函数体。

我们在实际编程中,根据需求选择合适的参数类型可以使函数更加灵活和易用。

函数的返回值

函数的返回值是指函数执行完毕后,向调用者返回的结果。在Python中,使用return语句来指定函数的返回值。

函数可以返回0个或多个结果

可以有返回值,也可以没有返回值

可以有return,也可以没有return

如果函数没有明确指定 return 语句,或者 return 后面没有跟任何表达式,函数将默认返回 None

并且一个函数可以返回任何类型的值,包括数字、字符串、列表、元组、字典、甚至是其他函数或对象。

举个例子:

def add(x, y):
    return x + y

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

在这个例子中,add 函数接受两个参数 xy,并返回它们的和。调用 add(3, 5) 后,返回值 8 被赋给变量 result,然后打印出来。

没有返回值的例子:

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

result = greet("Alice")
print(result)  # Output: None

在这个例子中,greet 函数只打印一条问候语,没有指定返回值,因此调用 greet("Alice") 后,result 的值为 None

需要注意的是,一旦函数执行到 return 语句,函数的执行就会立即停止,并将指定的返回值传递给调用者。

因此,return 语句通常出现在函数体的最后,但在某些情况下也可以出现在函数体的中间,这取决于函数的逻辑。

本专栏还有其他文章供学习参考以及备忘用,欢迎观看。

  • 40
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值