0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python定义函数与调用函数的顺序

麦辣鸡腿堡 来源:Python都知道 作者:Python都知道 2023-10-04 17:17 次阅读

定义函数与调用函数的顺序

函数被定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。但是在 Python 中我们要注意一个关键点,就是Python不允许前向引用,即在函数定义之前,不允许调用该函数。

例如:

printplus(1,2)defplus(a,b):returna+b

运行结果为:

NameError:name'plus'isnotdefined

从报错结果可以看出,名字为plus的函数还没进行定义(虽然我们是在后面进行了定义)。所以当我们在调用函数时,一定要确定在调用之前进行了函数定义。

正确使用参数

我们要在调用函数时,需要正确调用函数的名称和参数

例如我们定义了一个加法函数:

defplus(a,b):returna+b

我们在调用plus()函数时,如果传入的参数类型不对,会报TypeError错误。而且有时我们传入的参数类型不是规定类型的话,就算调用函数运行结果没有报错,也会产生逻辑错误。

例如:

#定义plus函数,作用是求两个正整数之和defplus(a,b):returna+b#调用plus函数,参数类型为'1','2'print(plus('1','2'))

输出结果:

12

虽然上述例子的程序运行结果没有报错,但是结果却与我们的预期不符,因为我们的本意是调用plus()加粗样式函数实现两个整数的加法。但是如果我们传入的是字符串类型的数值时,结果就是两个字符串的拼接。所以这个例子告诉我们一定要注意传入参数的类型。当我们传入正常类型的参数时,传入的参数个数不一致时,也会报TypeError错误。

例如:

#定义plus函数,作用是求两个正整数之和defplus(a,b):returna+b#调用plus函数,参数为1,2,3print(plus(1,2,3))

报错:

TypeError:plus()takes2positionalargumentsbut3weregiven

报错原因显示,因为plus()函数允许有且仅有2个参数,但是却在调用时传入了3个参数,所以程序报错。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字符串
    +关注

    关注

    1

    文章

    578

    浏览量

    20508
  • 函数
    +关注

    关注

    3

    文章

    4329

    浏览量

    62576
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84634
收藏 人收藏

    评论

    相关推荐

    一文详解python调用函数

    函数定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。但是在 Python 中我们要注意一个关键点,就是
    发表于 10-01 10:45 678次阅读

    如何查看及更改函数/函数块的调用环境

    模块化设计的思想是把一些相似的功能(比如电机控制、阀控制)设计成函数函数块,这样就可以反复调用。其优点是:使程序架构更加清晰,避免重复编写相似功能的代码。不过可能会产生一个疑惑:既然PLC的程序
    的头像 发表于 11-17 09:08 944次阅读
    如何查看及更改<b class='flag-5'>函数</b>/<b class='flag-5'>函数</b>块的<b class='flag-5'>调用</b>环境

    matlab自定义函数调用的方法

    matlab自定义函数调用的方法 命令文件/函数文件+ 函数文件 - 多
    发表于 11-29 13:14 88次下载

    高效的C编程之函数调用

    指令BL或MOV pc,lr一般只需要6个指令周期(ARM7上)。 在函数的入口和出口使用多寄存器加载/存储指令LDM和STM(Thumb指令使用PUSH和POP)提高函数体的执行效率。 ARM体系结构过程调用标准AAPCS
    发表于 10-17 16:49 6次下载
    高效的C编程之<b class='flag-5'>函数</b><b class='flag-5'>调用</b>

    Python3函数知识大全包括定义,调用,参数,变量等详细举例说明

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但也可以自己创建
    的头像 发表于 06-02 10:33 6555次阅读
    <b class='flag-5'>Python</b>3<b class='flag-5'>函数</b>知识大全包括<b class='flag-5'>定义</b>,<b class='flag-5'>调用</b>,参数,变量等详细举例说明

    详解python普通函数创建与调用

    函数是一种仅在调用时运行的代码块。您可以将数据(称为参数)传递到函数中,然后由函数可以把数据作为结果返回。
    的头像 发表于 03-01 16:32 1857次阅读

    python语言之使用async关键字来定义函数

    早期的协程是用yield来实现的,但是代码特别难懂, python3.5之后的版本, 使用 async 关键字来定义函数调用函数,会返
    的头像 发表于 08-24 11:12 2731次阅读

    Python入门之什么是函数

    Python函数比我们想象的更为灵活。由于Python函数是对象,所以函数对象可以赋值给其他的名字、传递给其他
    的头像 发表于 02-21 14:24 498次阅读

    Python函数调用是什么

    定义函数的关键字def。def后面紧跟空格。函数名可以自己命名。
    的头像 发表于 02-23 10:57 960次阅读

    C语言函数调用的形式及过程

    C语言函数调用时的数据传递 在调用有参函数时,主调函数和被调函数之间有数据传递关系。
    的头像 发表于 03-10 14:28 1739次阅读

    什么是函数调用

    函数调用,就是使用我们已经定义好的函数,或者C语言自带的库函数
    的头像 发表于 04-04 17:21 5818次阅读

    python函数函数之间的调用

    ) 运行结果: 无结果 分析:因为第9行中的x(f)中的f没有带括号,f只是一个普通的参数,所以程序只调用执行了x(f)函数,没有调用执行f()函数。x(f)
    的头像 发表于 10-04 17:17 589次阅读

    Python 函数参数分类

    文章应该对你会有不小的帮助。 接下来是正文。 1. 参数分类 函数,在定义的时候,可以有参数的,也可以没有参数。 从函数定义的角度来看,参数可以分为两种: 必选参数 :
    的头像 发表于 10-21 10:45 779次阅读

    python如何定义一个函数

    一、Python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道
    的头像 发表于 11-14 11:26 711次阅读

    python调用math函数的方法

    中。本文将详细介绍math模块中的各种数学函数调用方法,包括函数的功能、参数的使用和返回值的含义等方面,以帮助读者更好地理解和应用这些函数。 一、导入math模块 要使用math模块
    的头像 发表于 11-22 11:01 2966次阅读