Python 函数分类

  • Post category:Python

Python是一门非常强大的编程语言,而函数则是 Python 编程中不可或缺的一部分。Python 函数是一段可重复执行的代码块,用于完成特定的任务,并可以通过函数名进行多次调用。下面我将为您详细讲解 Python 函数的分类和使用方法。

Python 函数分类

Python 函数可以分为以下三类:

内置函数

内置函数是指 Python 自带的函数,可以直接使用,而不需要导入任何模块,包括常见的数学函数、字符串函数、列表函数等。例如:

# 数学函数
abs(-1)  # 返回1,绝对值
pow(2, 3)  # 返回8,2的3次方

# 字符串函数
len('python is great')  # 返回15,字符串长度
str.lower('PYTHON')  # 返回'python',字符串转为小写字母

标准库函数

标准库函数是指在 Python 中已经定义好了的函数,需要导入相应的模块后方可使用,例如 datetime 模块中的 datetime.now() 函数,可以返回当前时间。例如:

import datetime

now = datetime.datetime.now()
print(now)  # 输出形如 '2022-01-01 12:34:56.789' 的当前时间

自定义函数

自定义函数是开发者自己编写的函数,可以完成开发者自己需要的任务。自定义函数需要在代码中定义函数名、参数和执行语句,并可以根据需要返回函数结果。例如:

def add(a, b):
    """
    计算两个数的和
    :param a: 数字
    :param b: 数字
    :return: a和b的和
    """
    return a + b

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

Python 函数使用方法

声明函数

声明函数需要使用 def 关键字,后接函数名称和一对圆括号。紧随其后的是冒号和函数主体,函数主体需要缩进4个空格。

def 函数名(参数列表):
    """
    文档字符串
    """
    函数体

例如:

def add(a, b):
    """
    计算两个数的和
    :param a: 数字
    :param b: 数字
    :return: a和b的和
    """
    return a + b

调用函数

调用函数只需要使用函数名称和一对圆括号,圆括号中可以传递参数。例如:

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

参数传递

Python 函数的参数可以是必选参数、默认参数、可变参数和关键字参数。

  • 必选参数:必须以正确的顺序传入指定数量的参数。
  • 默认参数:如果没有传入相应的参数,则使用默认值。
  • 可变参数:允许将不定数量的参数传递给函数。
  • 关键字参数:允许将不定数量的关键字参数传递给函数。

例如:

# 必选参数
def add(a, b):
    return a + b

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

# 默认参数
def repeat_str(s, n=2):
    return s * n

result = repeat_str('python')
print(result)  # 输出 'pythonpython'

# 可变参数
def sum_numbers(*args):
    result = 0
    for i in args:
        result += i
    return result

result = sum_numbers(1, 2, 3, 4, 5)
print(result)  # 输出 15

# 关键字参数
def person_info(name, age, **kw):
    info = {'name': name, 'age': age}
    for k, v in kw.items():
        info[k] = v
    return info

result = person_info('Tom', 18, city='Shanghai', job='Engineer')
print(result)  # 输出 {'name': 'Tom', 'age': 18, 'city': 'Shanghai', 'job': 'Engineer'}

示例说明

示例 1:计算平均值

下面是一个计算平均值的自定义函数示例。该函数需要传入一个列表作为参数,计算列表中所有数字的平均值,并返回平均值。

def calculate_avg(lst):
    """
    计算列表中所有数字的平均值
    :param lst: 数字列表
    :return: 平均值
    """
    return sum(lst) / len(lst)

result = calculate_avg([1, 2, 3, 4, 5])
print(result)  # 输出 3.0

示例 2:合并字典

下面是一个合并字典的自定义函数示例。该函数需要传入任意数量的字典作为参数,将这些字典合并为一个新的字典,并返回结果。

def merge_dicts(*dicts):
    """
    合并多个字典
    :param dicts: 字典列表
    :return: 合并后的字典
    """
    merged_dict = {}
    for d in dicts:
        merged_dict.update(d)
    return merged_dict

result = merge_dicts({'a': 1, 'b': 2}, {'c': 3, 'd': 4}, {'e': 5, 'f': 6})
print(result)  # 输出 {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}