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

Python如何自定义函数及其使用方式

发布时间:2023-06-21 10:30:32

Python中自定义函数是编写更复杂程序的基础,函数是一个可重用的代码块,可以接受任意数量的输入参数,并可以产生输出结果。这个输出结果可以存储到变量或是作为输入提供给其他函数。自定义函数可以大大提高我们的代码的复用性和可维护性。在本文中,我将介绍Python自定义函数及其使用方式。

1.定义函数

函数定义的关键字是“def”,后面跟着函数名和一对圆括号。在圆括号内可以指定参数名,多个参数名之间用逗号隔开。参数可以具有默认值,在函数调用时没有提供参数值时使用默认值。函数体中的语句可以完成任务并返回值。

例如以下代码实现了一个求两个数之和的函数:

def add(x, y):
    """
    :param x:       个数
    :param y: 第二个数
    :return: 两个数的和
    """
    return x + y

解释如下:

1. 行代码:定义函数名称为“add”,这个函数有两个参数x和y。

2. 第三行代码:使用三个引号实现函数文档字符串,Documents Strings,即函数说明,这是一种社群标准,用于描述函数的目的及功能等信息。

3. 第四行代码:实现函数逻辑,即求两数之和,用“return”关键字返回这个结果。

2.调用函数

定义好函数后,需要调用这个函数才能完成数据的处理。函数调用非常简单,只要将函数名和参数列表组合在一起并用圆括号括起来即可,如“add(x,y)”这样的语句。

例如以下代码展示了如何调用add函数:

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

执行结果为:

8

解释如下:

1. 行代码:调用add函数,并将结果保存在变量“result”中。传递参数3和5。

2. 第二行代码:输出result的值,即8。

3. 参数传递

在函数中,可以使用两种类型的参数:默认参数和关键字参数。默认参数是在定义函数时就确定的,调用函数时如果没有传入值,则使用默认值。关键字参数是调用函数时明确指定参数名称和值。

例如以下代码实现了使用默认值的参数:

def hello(name="Python", age=20):
    """
    :param name: 名字
    :param age: 年龄
    :return: 打招呼
    """
    print("Hello, my name is %s, I am %s years old." % (name, age))

hello()
hello("Tom", 25)

执行结果为:

Hello, my name is Python, I am 20 years old.
Hello, my name is Tom, I am 25 years old.

解释如下:

1. 行代码:定义函数名称为“hello”,带两个参数“name”和“age”,这两个参数都有默认值。

2. 第二行代码:函数体中打印一句话,输出参数值。

3. 第四行代码:调用函数时,使用默认值打招呼。

4. 第五行代码:调用函数时,传递两个参数,此时默认值被覆盖。

以下代码展示了如何使用关键字参数:

def print_student_info(name, age, address):
    """
    :param name: 名字
    :param age: 年龄
    :param address: 地址
    :return: 打印学生信息
    """
    print("Name: %s, Age: %d, Address: %s" % (name, age, address))

print_student_info(name="Tom", age=25, address="Beijing")

执行结果为:

Name: Tom, Age: 25, Address: Beijing

解释如下:

1. 行代码:定义函数名称为“print_student_info”,带三个参数“name”,“age”和“address”。

2. 第二行代码:函数体中打印一句话,输出参数值。

3. 第四行代码:调用函数时,使用关键字参数指定参数名称和值。

4. 可变参数

有时候,我们无法预测函数的参数个数,这时候就需要使用可变参数。可变参数可以在函数定义时指定为“*args”,表示接受任何数量的参数。我们可以在函数中使用“*args”在函数中访问任意数量的参数。以下代码展示了如何使用可变参数:

def print_scores(name, *scores):
    """
    :param name: 名字
    :param scores: 成绩
    :return: 打印学生成绩单
    """
    print("Name: %s" % name)

    for score in scores:
        print("Score: %d" % score)

print_scores("Tom", 80, 90, 100)

执行结果为:

Name: Tom
Score: 80
Score: 90
Score: 100

解释如下:

1. 行代码:定义函数名称为“print_scores”,带一个参数“name”,和一个可变参数“*scores”。

2. 第三行代码:打印学生名字。

3. 第五行代码:使用“for”循环访问scores参数中的所有成绩值。

4. 第七行代码:调用函数时,传递参数“Tom”,和成绩80,90,100。

5. Lambda函数

Python引入了Lambda函数,也称为匿名函数,它可以在一行代码中代替函数。Lambda函数无需def关键字定义并可以在任何地方使用,这些函数在需要时被动态的创建,通常用来编写简单或者单次使用的代码。以下代码展示了如何使用Lambda函数:

add = lambda x, y: x+y
print(add(3,5))

执行结果为:

8

解释如下:

1. 行代码:定义一个匿名函数,将其赋值给变量add。

2. 第二行代码:调用Lambda函数并输出结果。

总结

Python是一门强大的编程语言,自定义函数是Python编程的基础之一。自定义函数使得程序可以执行相同的任务,无需重复编写代码,减少了代码的时间和工作量。本文介绍了Python自定义函数的定义、调用、参数传递、可变参数和Lambda函数,认识并学会如何使用它们,对Python编程有很大的帮助和作用。在日常工作和学习中,尽可能多地使用自定义函数,提高Python编程技能。