Python 函数用法详解

Python 中函数的应用非常广泛,前面章节中我们已经接触过多个函数,比如print()、range()、len() 函数等等,这些都是 Python 的内置函数,可以直接使用。

所谓的函数,其实就是一组执行特定任务的语句。通过定义函数,我们可以将代码组织成可重复使用的代码块,并将其从主程序中分离出来,达到一次编写、多次调用的目的。接下来我们将详细介绍函数的定义、使用方法。

定义函数

在Python中,可以通过def关键字来定义函数,其语法如下:

def function_name(parameters):
    """docstring"""
    statement(s)
    return [expression]

其中:

  • function_name:函数名,用于标识函数;
  • parameters:函数参数,可以是零个或多个参数,用逗号分隔;
  • docstring:可选的文档字符串,用于描述函数的作用和参数的含义;
  • statement(s):函数体,一组语句,用于执行函数的特定任务;
  • return:可选的返回语句,用于将结果返回给函数调用者。

下面是一个简单的函数示例:

def greet(name):
    """打招呼函数"""
    print(f"Hello, {name}!")

这个函数接受一个参数name,并打印出一条简单的问候语。我们可以通过调用这个函数来使用它:

greet("Metahuber")
greet("Bob")

输出:

Hello, Metahuber!
Hello, Bob!

调用函数

要调用函数,只需要使用函数名和参数来调用它即可。例如,我们可以调用上面定义的greet()函数,如下所示:

greet("Alice")

输出:

Hello, Alice!

如果函数需要多个参数,则可以用逗号分隔它们。例如:

def add(a, b):
    """加法函数"""
    return a + b

result = add(3, 5)
print(result)

输出:

8

默认参数

在函数定义中,我们可以为参数设置默认值。这样,如果函数调用者没有为参数提供值,则使用默认值。例如:

def greet(name="Metahuber"):
    """打招呼函数"""
    print(f"Hello, {name}!")

greet()
greet("Python技术站")

输出:

Hello, Metahuber!
Hello, Python技术站!

可变参数

有时,我们可能需要定义一个函数,可以接受任意数量的参数。在Python中,可以通过以下方式来实现:

def func(*args):
    """可变参数函数"""
    for arg in args:
        print(arg)

func(1, 2, 3)
func("a", "b", "c")

输出:

1
2
3
a
b
c

在这个例子中,我们使用了*args语法来定义可变参数。这允许我们在函数调用中传递任意数量的参数。在函数体中,我们使用for循环遍历这些参数并打印它们。

关键字参数

在 Python 函数中,参数可以按照位置传递,也可以按照关键字传递。关键字参数是一种传递参数的方式,它可以让你在函数调用时使用指定的关键字来传递参数值。

使用关键字参数的方式非常简单,只需要在函数调用时在参数名前面加上关键字即可。例如:

def greet(name, greeting):
    print(f"{greeting}, {name}!")
#参数增加上关键字
greet(name="Metahuber", greeting="Hello")

在上面的代码中,我们使用了关键字参数来调用 greet() 函数。这样做可以让代码更加易读,并且在传递参数时更加灵活。

此文章发布者为:Python技术站作者[metahuber],转载请注明出处:http://pythonjishu.com/python-function/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年 2月 19日 下午7:17
下一篇 2023年 2月 20日 下午2:41

相关推荐

  • 详解 Python 的局部函数及用法

    Python中的局部函数是在函数内部定义的函数,也被称为内部函数或嵌套函数。 局部函数的特点是:只能在定义它的函数内部调用,而不能在其他函数或全局作用域中调用。 局部函数在许多情况下都很有用,可以减少全局命名空间的污染,提高代码可读性和可维护性。下面是一个简单的示例,展示了如何定义和使用局部函数: def outer_function(): def inne…

    2023年 2月 20日
    00
  • Python 空值None用法详解

    在 Python 中,None 表示一个空对象,通常用于表示一个变量还没有被赋值。None 是一个特殊的常量,表示什么都没有,类似于其他编程语言中的 null、nil、undefined 等。 None 有以下特点: None 是 Python 的一个特殊对象,表示“无”、“空”或“不存在”。 NoneType 是 None 对象的类型。 None 在布尔上…

    2023年 2月 20日
    00
  • Python的位置参数是什么?

    在 Python 中,位置参数是一种函数参数的类型,它们根据它们在函数定义中的位置来接收传递给函数的值。 位置参数是最常用的参数类型。当我们定义一个函数时,我们可以指定多个参数,其中一些是位置参数。位置参数的值是按照它们在函数调用中出现的顺序来传递的。例如,下面是一个带有两个位置参数的函数: def add_numbers(a, b): return a +…

    2023年 2月 20日
    00
  • Python 将字符串转换为代码的函数(eval和exec)详解

    在Python中,有两个内置函数,可以把一堆字符串类型的代码,转换为Python解释器能够执行的代码。这两个函数就是:eval()和exec()。 它们的作用与区别如下: eval()函数:将字符串转换为Python表达式并计算返回结果。也就是说,它一般用于计算并返回单个表达式的值,并返回执行结果。 exec()函数:用于动态执行Python代码。也就是说,…

    2023年 2月 21日
    00
  • Python 函数返回符(return)详解

    在 Python 中,return 语句用于从函数中返回一个值。当函数调用一个 return 语句时,函数的执行将停止,并将一个值返回给函数调用者。在函数中使用 return 语句可以返回任何类型的数据,包括数字,字符串,列表,元组和字典等。 使用 return 语句时,我们可以选择是否返回值。如果函数没有 return 语句,函数将返回 None 值。No…

    2023年 2月 20日
    00
  • Python函数关键字参数详解

    在Python函数中,关键字参数是一种通过参数名称传递值的方法,而不是按照参数在函数定义中的顺序进行传递。使用关键字参数可以使代码更具可读性,并且可以方便地忽略函数定义中的一些参数。以下是Python函数关键字参数的用法: 定义函数时使用关键字参数 在定义函数时,可以使用关键字参数来指定函数参数的默认值。这样,在调用函数时,如果没有传递参数,则使用默认值。例…

    2023年 2月 20日
    00
  • Python函数设置默认参数

    在Python中,可以为函数参数指定默认值,这些参数被称为默认参数。如果调用函数时没有传递这些参数,则使用默认值。 默认参数可以在定义函数时指定,例如: def greet(name, greeting="Hello"): print(greeting, name) 在上面的示例中,greeting参数具有默认值"Hello&q…

    2023年 2月 20日
    00
  • 什么是Python闭包?闭包有什么作用?

    在Python中,闭包(Closure)是指一种函数,它可以访问在其定义范围内的变量,并把该函数作为返回值返回。闭包允许你在一个函数中嵌套另一个函数,并且在内部函数中引用外部函数的变量。 在Python中,如果一个函数定义在另一个函数内部,而内部函数使用了外部函数的变量,则称这个内部函数为闭包。闭包是Python中一种强大的编程技巧,它可以让函数保留状态,并…

    2023年 2月 21日
    10
  • Python 反转序列(reversed函数)使用方法

    reversed() 函数是 Python 内置的用于反转序列对象的函数。它接受一个可迭代对象作为参数,返回一个新的迭代器对象,该迭代器对象以相反的顺序遍历原始序列。 reversed() 函数的基本语法如下: reversed(seq) 其中,seq 是要反转的序列对象,可以是列表、元组、字符串或任何可迭代对象。 例如,反转一个列表: lst = [1, …

    2023年 2月 19日
    00
  • Python 压缩函数(zip)详解

    Python中的zip()函数是一个内置函数,用于将多个序列中的元素打包在一起,返回一个元组构成的列表,其中每个元组包含来自每个序列的元素。它可以接受任意数量的序列,其中最短的序列确定了新列表的长度。在这篇文章中,我们将详细介绍zip函数的用法、语法和示例。 语法 zip()函数的语法如下:zip([iterable, …]) 这里iterable表示要…

    2023年 2月 19日
    00