发现一个奇怪的问题:

Python在函数里面调用另一个函数时,被调用函数是不用事先定义的,例如现在这个例子是可以正确执行的:

def test1():test()def test():print('test')test1() 

这个例子中,函数test1()调用了函数test(),但是被调用的函数是在之后才定义的,对于Python这种解释型语言来说,应该是会报错才对的,但是并没有报错。下面这种方法就会报错

test()def test():print('test')

运行结果:

这种现象我觉得应该是这样的,第一个例子中,真正的函数调用发生在最后一行test1(),前面的只是函数定义,而函数定义对函数顺序是不敏感的,被调用的函数只要在真正执行的语句之前就可以,如下面解释的那样

def test1():   #这是定义函数test1()test()     #函数test1()中调用了test(),此时函数test()还没有定义,不过没关系,因为这里只是定义函数test1(),只要在调用test1()的地方之前定义了test()函数就可以!!! def test():    #这是定义函数test()print('test')test1()        #这里是调用函数test1()的语句,只要在这句之前定义了test(),程序就不会报错!!!

Python学习--函数调用与声明问题相关推荐

  1. Python学习笔记——全局变量声明

    最近在编写python程序时发现,在函数中可以对函数外面的全局变量进行读取.打印等操作,但是不能赋值,否则会报错: UnboundLocalError: local variable 'a' refe ...

  2. Python学习笔记:利用timeit计算函数调用耗时

    Python学习笔记:利用timeit计算函数调用耗时 一.timeit模块简介 Timer对象包含两个参数:第一个参数是你想要计时的Python语句,第二个参数运行一次来建立测试. 默认情况time ...

  3. python学习之第三课时--基本数据类型及区别,变量

    python学习之第三课时--基本数据类型及区别,变量 基本数据类型及区别 1. 数字类型(int) 数字型--变量值直接是数字,没有双引号""   整数 2. 浮点数(float ...

  4. python学习手册条件-Python学习手册(第4版)pdf

    Python学习手册(第4版) 内容简介 <Python学习手册(第4版)>学习Python的主要内建对象类型:数字.列表和字典.使用Python语句创建和处理对象,并且学习Python的 ...

  5. python学习手册中文版免费下载-Python学习手册

    Python学习手册第4 版将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者.本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成 ...

  6. Python学习手册(套装上下册)(原书第5版)

    Python学习手册(原书第5版) 本书分为上.下两册. 如果你想动手编写高效.高质量并且很容易与其他语言和工具集成的代码,本书将快速地帮助你利用Python提高效率.本书基于Python专家的流程培 ...

  7. python 学习笔记 (核心)

    python    学习笔记 (核心) Python解释器从头到尾一行接一行执行脚本 # -*- coding: UTF-8 -*-    //字符编码 不区分单引号和双引号,x='hello',x[ ...

  8. python基础语法手册-Python学习手册(第4版)pdf

    Python学习手册(第4版) 内容简介 <Python学习手册(第4版)>学习Python的主要内建对象类型:数字.列表和字典.使用Python语句创建和处理对象,并且学习Python的 ...

  9. python零基础学习书-Python零基础到进阶必读的书藉:Python学习手册pdf免费下载

    提取码:0oor Google和YouTube由于Python的高可适应性.易于维护以及适合于快速开发而采用它.如果你想要编写高质量.高效的并且易于与其他语言和工具集成的代码,<Python学习 ...

最新文章

  1. 【译】详解Asp.net MVC DropDownLists
  2. 记录ie暂时遇到的问题
  3. 求字符串中最长无重复字符的子串
  4. stm32的can总线理解及应用——程序对应stm32f103系列
  5. linux 内核参数 rss,Linux控制内存的内核参数
  6. 客户关系管理系统-CRM源码
  7. Razor视图引擎浅析
  8. 微软:今年要让Office 2007寿终正寝
  9. python怎么读取txt文件-Python三种读取txt文件方式
  10. Java解析JSON,按规则获取JSON节点内容
  11. debugger心得
  12. 王健林身价暴跌百亿,儿子却在撒钱!
  13. 戴尔linux改win7教程视频,戴尔笔记本win10改win7系统BIOS设置详细教程
  14. c语言判断正整数x是否为同构数,c语言上机题库(阅读).doc
  15. Genesis非洲代理与加纳共和国政府正式签订紧密合作协议
  16. python运行selenium时浏览器闪退情况:
  17. [Error]cannot convert 'float'tot float for argument 1to floa
  18. python多用户B2C商城系统毕业设计开题报告
  19. 敲响警钟:我在台资企业的悲惨待遇
  20. uniapp人脸识别解决方案

热门文章

  1. 华为android密码是什么格式的,华为手机怎么给相册设置独立的密码?
  2. 小说里的编程 【连载之二十六】元宇宙里月亮弯弯
  3. * 在线版大富翁游戏
  4. 数据预处理:数据离散化
  5. 手机屏保密码忘记了怎么解开
  6. 17换代哈弗h6系统升级_17款全新换代哈弗H6两周年用车感受,分享一下
  7. python安装email模块_Python byemail包_程序模块 - PyPI - Python中文网
  8. python发微信语音没声音_Python文字转换语音,抠脚大汉秒变撒娇萌妹
  9. iOS 摇一摇的实现
  10. 分类计数原理与分步计数原理_分类计数原理和分步计数原理教案