欢迎访问宙启技术站
智能推送

Python函数-基础教程

发布时间:2023-06-22 10:41:10

Python函数是一个由一行或多行代码组成的块,用于执行特定的任务。它们在Python中被广泛使用,可以帮助程序员组织和重复使用代码。

在本教程中,我们将学习如何编写Python函数以及如何调用它们。

# 定义函数

Python中定义函数的语法如下所示:

def function_name(parameters):
    '''Function docstring'''
    # Function body
    return [expression]

在这里,我们使用def关键字定义一个函数,并为其提供一个名称。参数列表包含函数需要的参数。可选的docstring(文档字符串)是一段描述函数功能的文本。函数体是实际执行的代码块。最后一个可选return语句用于返回函数值。

下面是一个计算平方的函数:

def square(number):
    '''Calculate the square of a number'''
    result = number ** 2
    return result

要调用这个函数,我们只需要提供一个数值:

>>> square(5)
25

请注意,square() 函数的参数列表包含一个参数

。当我们调用该函数并提供一个数字时,编程工具将为变量
分配该值。

# 参数

Python函数可接受零个或多个参数。在函数内部对这些参数进行操作。

下面是一个接受两个参数并返回它们之和的函数:

def add_two_numbers(a, b):
    '''Add two numbers'''
    result = a + b
    return result

要调用这个函数,我们需要提供两个参数:

>>> add_two_numbers(3, 5)
8

Python还支持两种不同的参数类型:默认参数和关键字参数。

默认参数是具有默认值的参数。如果没有为这些参数提供实际参数,则使用默认值。

以下是一个带有默认参数的函数:

def greet(name='Alice'):
    '''Print a greeting message'''
    print('Hello', name)

我们可以离开name参数为空,这将使用默认值:

>>> greet()
Hello Alice

我们也可以传递自己的值:

>>> greet('Bob')
Hello Bob

关键字参数是具有参数名称的参数。这些参数可以任意排序,并且不需要在参数列表中使用所有参数。

以下是一个带有关键字参数的函数:

def create_person(name, age, occupation):
    '''Create a dictionary representing a person with the given attributes'''
    person = {'name': name, 'age': age, 'occupation': occupation}
    return person

下面是如何使用这个函数的示例:

>>> create_person(name='Alice', age=30, occupation='Engineer')
{'name': 'Alice', 'age': 30, 'occupation': 'Engineer'}

# 包

Python中的包是一种组织模块的方式。它们将相关模块组合在一起并将它们存储在单个目录中。这使得在程序中使用模块变得更加简单和直观。

要创建一个Python包,请执行以下步骤:

- 创建包目录(例如,mypackage)。

- 在包目录中,创建一个__init__.py文件。这是一个空文件,作为该包的初始化脚本。

- 在包目录中,可以创建任意数量的模块(例如,mymodule.py)。

以下是一个示例包结构:

mypackage/
    __init__.py
    mymodule.py

现在,我们可以将mymodule.py中的模块导入__init__.py中:

from .mymodule import my_function

请注意,我们在这里使用.表示与当前包的相对路径。

现在,我们可以将整个包导入到其他Python代码中:

import mypackage

mypackage.my_function()

# 总结

本教程涵盖了Python中定义和调用函数的基础知识。我们还简要介绍了默认参数、关键字参数和包。学完本教程,您应该能够编写简单的Python函数并在程序中组织代码。