揭秘python函数:编程艺术的核心力量

简介: 揭秘python函数:编程艺术的核心力量


前言


当我们深入研究 Python 的内心深处,我们将会发现,函数是其内核的核心力量。这并不仅仅是因为函数具有处理任务的能力,但更重要的是,函数是实现程序代码重用的关键因素之一,它帮助我们以一种结构化和有组织的方式来表达我们的思想。


所谓的 “编程艺术”(The Art of Programming)不仅仅是指编写的代码能够成功运行,关键在于是否可以使代码看起来更加简洁,重用性更强,更容易进行维护和扩展。函数正好可以做到这一点。它们封装了代码中的预定义任务,使得代码看起来更加具有逻辑性,更加易于理解。


在这篇文章中,我们将揭秘 Python 函数的魅力,详解其内在的原理,函数的定义、调用,以及如何利用其强大的功能像艺术家一样去书写你的 Python 代码。无论你是 Python 的初学者还是有经验的开发者,我相信这个主题都能给你带来一些有益的启示和新的理解。希望你在这趟探索之旅中能感受到 Python 函数的强大力量,也能体会到编程的艺术魅力。让我们一起打开 Python 函数的神秘之门,探索其中深邃又广阔的世界吧!🚗🚗🚗

什么是 python 函数


在生活中,我们使用计算器程序的时候,首先我们需要选择我们需要进行哪种计算,是加法、减法、乘法还是除法,并且可能每次进行的计算都不相同,所以,每次都需要选择进行哪种计算。当我们写计算器小程序的时候,我们要实现这么多次的菜单是不是也要将菜单代码写这么多次呢?可以是可以,但是我们不难发现,这样的代码会显得十分冗余,我们并不推荐,那么怎样才能解决这种代码冗余的问题问题呢?那就是函数。


函数可以:


代码复用:当需要在多个地方重复相同的操作时,可以把这些操作封装在一个函数中。这样,只需要调用函数即可完成这些操作,无需重复书写相同的代码。


模块化设计:函数使得代码结构更加清晰、更具有可读性。通过函数,可以将复杂的问题拆分成一系列相对独立,功能单一的模块,使得代码更加容易理解和维护。隐藏实现细节:函数将代码的具体实现和使用

接口分离,提供了一种抽象机制。这意味着函数的使用者不需要了解函数内部的实现细节,只需要了解函数的输入(参数)和输出(返回值)即可。


提高代码的可测试性:每一个函数都是一个相对狮郑络的代码段,可以独立于其他代码进行测试,大大提高了代码测试的可行性和有效性。


提高代码的可调试性:当出现问题时,可以针对单个函数进行调试,而不需要查看整个代码。


便于代码的迭代和重构:通过调整或重写特定的函数,可以在不影响整体代码结构的情况下更新或优化部分功能。


函数的使用步骤

1)定义函数

def 函数名(参数):
  代码块
  ...


2)调用函数

函数名(参数)

注意:在 python 中,函数必须先定义再使用。并且参数可以根据情况,可以有也可以没有。

# 定义函数
def menu():
    print('-----------欢迎使用计算器-----------')
    print('-----------0.退出计算器------------')
    print('--------------1.加法--------------')
    print('--------------2.减法--------------')
    print('--------------3.乘法--------------')
    print('--------------4.除法--------------')
    print('---------------------------------')
# 调用函数
menu()
option = int(input('请输入你要进行的操作:'))
while option != 0:
    if option == 1:
        print('加法操作')
    elif option == 2:
        print('减法操作')
    elif option == 3:
        print('乘法操作')
    else:
        print('除法操作')
    # 调用函数
    menu()
    option = int(input('请输入你要进行的操作:'))

只有函数被调用的时候,才会执行函数里面的代码,如果函数没有被调用,那么函数里面的代码就不会被执行。


带有参数的函数

上面的菜单操作,比较单调,而函数有了参数之后就会变得更加有意思,代码也变得更加灵活。

def say_hello(name):  # 形式参数
    print(f'Hello,{name}.welcome to the world of Python')
name = input('请输入你的名字:')
say_hello(name)  # 实际参数

当我们调用函数的时候传入的参数叫做实际参数,而定义函数的时候的参数叫做形式参数。

形式参数(也称为形参)是定义在函数或方法声明中的参数。形式参数只有在函数或方法被调用时才会具体化为实际的数据值,也就是实际参数。


函数的返回值

我们可以使用函数来返回我们需要的数据。return 数据 return 的作用是,结束当前函数并且将 return 后面的数据带回到调用函数的地方。

def add_num(a,b):
    return a + b
num1 = int(input('请输入操作数1:'))
num2 = int(input('请输入操作数2:'))
sum = add_num(num1,num2)
print(sum)

当函数 return 之后,函数体 return 之后的代码不会执行。

def add_num(a,b):
    return a + b
    print('代码块')
num1 = int(input('请输入操作数1:'))
num2 = int(input('请输入操作数2:'))
sum = add_num(num1,num2)
print(sum)


函数的说明文档

在Python中,函数的说明文档也被称为文档字符串,或者简称为"docstring"。它是一种在函数、模块、类或方法定义后立即插入的特殊语句,用来对该部分代码进行说明或者解释。这种解释对于理解代码运行机制很有帮助。


在 python 中,我们可以使用 help(函数名) 来查看函数的说明文档。

help(input)


在我们自己写的函数中,你可以使用三引号(‘’'或"“”)来定义一个docstring。docstring 不单单显示函数的基本功能,还应该显示它的参数类型、返回类型及其他相关的信息。这就使得其他人可以理解并且使用这个函数。

def 函数名(参数):
  ''' 说明文档的位置 '''
  代码块
  ...
def add_num(a,b):
    '''
    求和函数
    :param a:操作数1
    :param b:操作数2
    :return:操作数1与操作数2的和
    '''
    return a + b
    print('代码块')
help(add_num)

函数的嵌套调用

我们在一个函数中可以调用另外一个函数。

def test_B():
    print('-----test_B start-----')
    print('test_B 代码块')
    print('------test_B end------')
def test_A():
    print('-----test_A start-----')
    test_B()
    print('------test_A end------')
test_A()

我们可以注意两个代码的执行顺序是怎样的,当在test_A函数中调用test_B函数时,会先执行完test_B函数的代码,然后继续执行test_A的剩下代码。


实现简易的计算器

因为这个代码比较简单,所以我们就不添加说明文档了,如果大家有兴趣的话,也可以自己下去试试哦。

def menu():
    print('-----------欢迎使用计算器-----------')
    print('-----------0.退出计算器------------')
    print('--------------1.加法--------------')
    print('--------------2.减法--------------')
    print('--------------3.乘法--------------')
    print('--------------4.除法--------------')
    print('---------------------------------')
# 加法
def add_num(a,b):
    return a + b
# 减法
def sub_num(a,b):
    return a - b
# 乘法
def mul_num(a,b):
    return a * b
# 除法
def div_num(a,b):
    return a / b
menu()
option = int(input('请输入你要进行的操作:'))
while option != 0:
    num1 = int(input('请输入操作数1:'))
    num2 = int(input('请输入操作数2:'))
    if option == 1:
        ret = add_num(num1,num2)
    elif option == 2:
        ret = sub_num(num1,num2)
    elif option == 3:
        ret = mul_num(num1,num2)
    else:
        ret = div_num(num1,num2)
    print(ret)
    # 调用函数
    menu()
    option = int(input('请输入你要进行的操作:'))

相关文章
|
13天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
12天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
18天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
123 67
|
19天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
131 59
|
12天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
38 18
|
4天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
30 8
|
12天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
36 10
|
15天前
|
机器学习/深度学习 人工智能 Java
Python 语言:强大、灵活与高效的编程之选
本文全面介绍了 Python 编程语言,涵盖其历史、特点、应用领域及核心概念。从 1989 年由 Guido van Rossum 创立至今,Python 凭借简洁的语法和强大的功能,成为数据科学、AI、Web 开发等领域的首选语言。文章还详细探讨了 Python 的语法基础、数据结构、面向对象编程等内容,旨在帮助读者深入了解并有效利用 Python 进行编程。
|
14天前
|
机器学习/深度学习 人工智能 数据挖掘
探索Python编程的奥秘
在数字世界的海洋中,Python如同一艘灵活的帆船,引领着无数探险者穿梭于数据的波涛之中。本文将带你领略Python编程的魅力,从基础语法到实际应用,一步步揭开Python的神秘面纱。
34 12
|
13天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!