• 青少年python系列 36.函数的参数


    青少年python教学视频ppt源码

    青少年python系列目录_老程序员115的博客-CSDN博客

     

            经过上节课的学习,我们已将可以自己来创建一些函数,帮我们把复杂的问题简单化,可以重用代码,方便我们调用。

            但我们调用这些函数,它们每次的运行效果都相同,这也太无聊了吧!是这样的吗?当然不是这样了,要知道现实世界的信息在时时刻刻发生变化,但是事物的基本规律是不会变化的,对于规律相同的事物,尽管这些事物本身名称或者性质不同,但我们都可以利用它们的运行规律来控制它们达到我们的设计目的。同理,函数也是这样,我们设计的函数具有某一特定的功能,这些功能就是“事物的规律”,我们可以用函数来帮助我们处理具有同一运行规律的事物。

            如果你想让一个函数每次运行都有不同的表现,可以给它传递参数。在编程中,参数这个词是指你传递给函数的一条信息,而函数可以根据这条信息灵活反应。

            现在明白了么?通过参数,我们可以为函数输入不同的指令信息,来让函数帮我们处理,但这些信息尽管名称性质不同,但从某种程度上它们都拥有相同的运行规律或者说特性,正是因为这些特性,函数才可以被我们重用。

    1 形参与实参

            同学们在创建自己的函数,使用参数为函数传递信息时,我们需要注意,在函数创建与函数调用时有两种不同参数,形参与实参。

            形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数。形参没有实际的值,被赋值后才有意义,意味着,形参空有其名,没有其实。

            实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数。

    实参就是实际意义上的参数,是一个实际存在的参数,可以是字符串或是数字等。当函数被调用时,我们就可以通过实参为形参传递实际的值。

    2 参数与变量

            参数是变量么?

            是的,你可以这么认为。但是它们之间有区别。

            一般变量在定义时一定要给它赋值。但是参数这种变量在函数定义时不用给它赋值,只有在调用函数时才给它赋值。

    3 多个参数

            函数也可以有两个、三个,或者任意多个的参数,而不是只能有一个。

            多个参数意味着函数可以设计的多功能多个性,可以处理更复杂的信息。

            还记得在这期课开始的地方,我们达成了共识,如果资源可以重复使用,那该是一件多么了不起的事情。

            函数的最大优点在于函数的重用性,函数就是一个可以多次被重复调用的功能程序代码模块,下面我们使用函数来写一个商品价格计算与找零系统,来把我们写的程序提供给收银员实际应用。

            定义名称为trade的函数,结合while循环函数,在主程序中调用trade函数,于是我们的商品价格找零系统持续运行。

            每当输入不同的商品单价、数量与收钱的数据后,trade函数程序总能快速被调用,并计算出找零的金额。

            这里的return 是一个返回值语句,在这里,它把算出的找零金额返给调用函数的的地方,在下节课,我们将深度认识并学习return语句 。

    4 函数参数的相关问题

            同学们,函数既可以有多个参数也可以没有参数,当一个函数的参数太多时,我们会习惯把这些参数放入一个列表,然后把列表当成一个参数传入函数。

    无参函数:

            在函数定义阶段括号内没有参数,称为无参函数

            注意:定义时无参,意味着调用时也无需传入参数

    应用:

            如果函数体代码逻辑不需要依赖外部传入的值,必须定义无参函数

    例如

    1. def func():
    2. print('hello world')
    3. func()

    总结

    一、Python语言编写程序函数的时候具有两类参数:形参与实参

    二、参数与变量有区别。变量在定义时一定要给它赋值。但是参数这种变量在函数定义时不用给它赋值,只有在调用函数时才给它赋值。

    三、函数也可以有两个、三个,或者任意多个的参数,而不是只能有一个。也可以没有参数。

  • 相关阅读:
    Linux常用文件权限命令详解
    Linux——权限
    比 JSON.stringify 快两倍的fast-json-stringify
    鸿蒙开发-HarmonyOS UI架构
    QT实现TCP服务器客户端的实现
    Android虚拟机与ClassLoader类加载机制
    2023年软件测试的发展如何?
    如何用个人电脑搭建一台本地服务器,并部署项目到服务器详细教程(Ubuntu镜像)
    在iPhone上构建自定义数据采集完整指南
    为什么在Java中使用Integer,1000==1000是false,而100==100是true?
  • 原文地址:https://blog.csdn.net/u012284021/article/details/127688945