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

Python自定义函数-创建您自己的函数

发布时间:2023-06-22 03:13:01

Python是一种多用途编程语言,用于编写各种类型的应用程序,从简单的脚本到复杂的Web应用程序。一个重要的组成部分就是函数,函数是一段可调用代码块,可接受输入参数并返回输出结果。

Python提供了许多内置函数,例如print(),input()等等。但有些时候,我们需要自己编写函数满足特定的需求。创建Python函数需要遵循一定的规则和语法结构。

函数定义

定义Python函数有以下结构:

def function_name(parameters):

    """docstring"""

    statement(s)

    

定义函数时需要使用def关键字指定函数名和参数,其语法结构如下:

- def:关键字指示它是一个函数;

- function_name:表示函数名称,该名称遵循标识符的命名规则;

- parameters:表示函数的输入参数,可以是0个或多个,多个参数以逗号分隔,可以指定默认参数值;

- docstring:是函数的注释信息,是可选的,用于解释函数的作用;

- statement(s):是函数体,包含执行函数的语句或操作。

例如,下面的函数将打印出'Hello World!':

def say_hello():

    print('Hello World!')

此函数中没有参数,使用了print()内置函数进行输出。在调用这个函数时,将会打印'Hello World!'。

函数调用

定义函数只是一半,另一半是调用函数,也就是在代码中执行函数体。如何调用Python函数?简单地说,就是输入函数的名称和适当的参数。

例如,使用上面的函数say_hello():

say_hello()

这样就可以执行函数体中的语句,输出'Hello World!'。注意,在这里调用函数时,不需要添加括号。也可以将函数的结果赋值给变量,例如:

result = say_hello()

print(result)

这将输出'None',因为该函数返回没有返回值。

函数参数

python中有3种类型的函数参数:

- 位置参数:位置参数就是按照参数的位置进行传递的参数,是最常见的参数类型。

- 关键字参数:关键字参数就是按照参数名进行传递的参数,传递时需要在参数名前加上'=',指定参数的值。

- 默认参数:默认参数的用途是当没有传入的参数时,使用默认值。

例如,下面是一个具有3个位置参数和1个默认参数的函数:

def greet(name1, name2, name3, message="Hello"):

    print("{} {} {} - {}!".format(message, name1, name2, name3))

该函数要求3个参数:name1、name2和name3,以及可选参数message(默认为“Hello”)。在这个函数中,message是一个默认参数,如果用户未在函数调用中提供message,则使用默认值“Hello”。

我们可以使用不同的方式调用函数,例如:

# 使用所有参数

greet("John", "Mike", "Dave", "Howdy")

# 输出:Howdy John Mike Dave - !

 

# 使用部分参数和默认参数

greet("John", "Mike", "Dave")

# 输出:Hello John Mike Dave - !

 

# 用关键字参数指定参数

greet(name1="John", name2="Mike", name3="Dave", message="Howdy")

# 输出:Howdy John Mike Dave - !

再例如,下面是一个接受任意数量参数的函数:

def concatenate(*args):

    result = ""

    for arg in args:

        result += arg

        result += " "

    return result

 

result = concatenate("I", "am", "learning", "Python")

print(result)

# 输出:I am learning Python 

将参数前面加上*号就可以接受任意数量的参数,这些参数被视为一个元组。

函数返回值

在Python中,函数可以通过return语句返回结果,return语句必须是函数中的最后一个语句。如果没有return语句,函数将返回None值。

例如,下面的函数将返回两个数字之和:

def add_numbers(x, y):

    return x + y

 

result = add_numbers(5, 10)

print(result)

# 输出:15

在这个函数中,x和y是输入参数,而return x + y返回了它们的和。

除了简单地返回一个值,函数还可以返回两个或多个值,这些值将被视为元组:

def square_and_cube(x):

    return x ** 2, x ** 3

 

result = square_and_cube(10)

print(result)

# 输出:(100, 1000)

在这个函数中,square_and_cube返回两个数字的平方和立方的元组。

结论

Python函数是高效的代码块,用于将代码拆分为可复用的模块。创建Python函数需要遵循一定的规则和语法结构,可以使用不同类型的参数和返回值。函数可以显著提高代码的可读性、复用性和可维护性,可以轻松处理各种复杂问题。