python函数大全

  • Post category:Python

我们先来了解一下Python函数的基础知识。Python函数是指一段代码,它可以在程序中反复调用。函数可以带有参数,也可以返回一个值。在Python中,函数定义使用关键字def,格式如下:

def 函数名 (参数列表):
    函数体
    return 返回值

其中:

  • 函数名:定义函数的名称,函数名是唯一的。
  • 参数列表:是指传递给函数的值,可以是按照位置传参,也可以是按照参数名传参。
  • 函数体:函数功能的实现代码。
  • 返回值:是指函数执行后返回的结果,可以是任意对象。

接下来,我会详细讲解Python函数的各种用法及实例。

一、Python函数的种类

Python函数分为库函数和自定义函数。

1. 库函数

Python内置了许多函数,称之为库函数,例如print()input()等。这些函数在Python中具有预设的功能。

下面,我们以print()函数为例,演示其使用方法:

# 使用print()函数输出字符串
print("Hello, world!")
# 打印结果:
# Hello, world!

2. 自定义函数

自定义函数是程序员根据实际需求编写的函数,它可以根据需要返回任意类型的对象,用来实现一些自己需要的功能。

下面,我们以一个简单的自定义函数为例,演示其使用方法:

# 自定义函数,求两个数的和
def add(x, y):
    return x + y

# 调用函数,计算 3+5 的结果
result = add(3, 5)
# 打印结果
print(result)

运行结果为:8。

二、Python函数的参数

1. 位置参数

位置参数是指函数调用时,按照定义的参数顺序传入值。参数传递时,参数值和参数名按照位置一一对应。

下面,我们以一个简单的函数为例,演示位置参数的使用方法:

# 计算任意两个数的积
def calc_product(x, y):
    return x * y

# 使用位置参数调用函数
result = calc_product(3, 5)

# 打印结果
print(result)

2. 默认参数

默认参数是指函数定义时,给参数赋予一个默认值。调用函数时,如果没有传递对应参数值,则使用默认值。

下面,我们以一个带有默认参数的函数为例,演示其使用方法:

# 计算圆的面积
def calc_circle_area(radius, pi=3.14):
    return pi * (radius ** 2)

# 使用默认参数调用函数
result = calc_circle_area(2)

# 打印结果
print(result)

3. 关键字参数

关键字参数是指用参数名指定的参数,可以不按照定义的顺序传递参数。

下面,我们以一个带有关键字参数的函数为例,演示其使用方法:

# 计算圆柱体积
def calc_cylinder_volume(radius, height, pi=3.14):
    return pi * (radius ** 2) * height

# 使用关键字参数调用函数
result = calc_cylinder_volume(radius=2, height=5)

# 打印结果
print(result)

4. 可变参数

可变参数是指传入的参数个数是可变的,Python中有两种可变参数:args和*kwargs。

  • *args:表示可以接受任意个参数。被传入的可变参数args会被转化为一个元组tuple。
  • **kwargs:表示可以接受任意个含参数名的参数。被传入的可变参数kwargs会被转化为字典dict。

下面,我们以一个函数为例,演示可变参数的使用方法:

# 可变参数演示
def args_demo(*args, **kwargs):
    # 打印args和kwargs的值
    print(args, kwargs)

# 调用函数,使用可变参数传递3和5
args_demo(3, 5)
# 打印结果:
# (3, 5) {}

# 调用函数,使用可变参数传递两个参数
args_demo(a=1, b=2)
# 打印结果:
# () {'a': 1, 'b': 2}

# 调用函数,使用可变参数传递1,2,3三个参数及一个参数名为x的关键字参数
args_demo(1, 2, 3, x=4)
# 打印结果:
# (1, 2, 3) {'x': 4}

三、Python函数的返回值

Python函数的返回值可以是任意类型的对象,包括数字、字符串、元组、列表、字典、函数等。

1. 返回单个值

下面,我们以一个简单的函数为例,演示如何返回单个值:

# 计算两个数的和
def add(x, y):
    return x + y

# 调用函数,计算 3+5 的结果
result = add(3, 5)

# 打印结果
print(result)

2. 返回多个值

Python中,函数可以返回多个值。多个返回值会被自动转化为一个元组(tuple)。

下面,我们以一个简单的函数为例,演示如何返回多个值:

# 计算两个数的商和余数
def divmod(x, y):
    return x // y, x % y

# 调用函数,计算 19/4 的商和余数
result = divmod(19, 4)

# 打印结果
print(result)

四、Python函数的链式调用

链式调用是指将函数的返回值直接作为参数传递给另一个函数,从而组合成一个复杂的表达式。

下面,我们以一个链式调用的例子为例,演示其使用方法:

# 链式调用函数
def string_to_int(s):
    return int(s)

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

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

# 链式调用
result = '10 3'.split(' ')[0]
result = string_to_int(result)
result = multi(result, 3)
result = add(result, 7)

# 打印结果
print(result)

这段代码的作用是,将字符串 “10 3” 转为整数,并将其乘以 3,再加上 7,最终输出结果。这里我们通过链式调用将三个函数串联起来,避免了重复赋值的冗余代码。