博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 函数调用顺序
阅读量:7174 次
发布时间:2019-06-29

本文共 600 字,大约阅读时间需要 2 分钟。

def foo():    print ('in the foo')    bar()def bar():    print ('in the bar')foo()

1.foo函数进入内存

2.bar函数进入内存

3.foo()开始实例化使用foo函数。

4.调用已经进入内存的foo函数,运行到第三行,这时因为第二部bar已经进入内存了,所以直接可以引用bar函数。

总结:python 函数调用的顺序是先把函数的虚拟先放进去,从上到下,一直放到foo()函数之前。然后遇到foo函数就开始跑这个foo函数。foo之后的函数还没有进入。

当然这里面还有最重要一点不是废话,其实上面的东西很浅显基本废话。这句不是废话说的是,函数放入内存,只是形式上放一下,并不是真正跑他的内容,这样就导致了第三行bar()其实是在第四行def bar()被装进内存后才进行启动的。上面4个步奏中的第一步foo函数进入内存只是形式进入,只有当3foo()开始第三行的bar(),也就是真正的第一次运行第三行的bar().

比如下面 的就是错误

def foo():    print ('in the foo')    bar()foo()def bar():    print ('in the bar')

 

转载于:https://www.cnblogs.com/zhangbo2008/p/8214938.html

你可能感兴趣的文章
提高Python代码效率的方法
查看>>
zabbix使用msmtp&&mutt搭建邮件告警服务
查看>>
USB抓包工具--Bus Hound的使用方法详解
查看>>
location of android sdk has not been setup in the preference
查看>>
Centos7 二进制安装mysql5.7
查看>>
Centos7之Nginx的两种工作模式
查看>>
Allegro的几点小结
查看>>
Kubernetes在CentOS7下二进制文件离线安装
查看>>
Java 9的JDK中值得期待的:不仅仅是模块化
查看>>
如何挂载另一个lvm硬盘
查看>>
PHPCMS 多站点管理切换问题
查看>>
Java之品优购课程讲义_day18(3)
查看>>
验证 OSPF hello 包中的关键参数(配置要求)
查看>>
CentOS7.6使用最新内核版本5.0.7编译增加NTFS功能的详细步骤
查看>>
如何在MaxCompute上处理存储在OSS上的开源格式数据
查看>>
APP上架必备-山西软件著作权申请登记
查看>>
SpringMVC异常处理方式
查看>>
Linux环境下实现MariaDB数据库多实例
查看>>
CyberMiles的虚拟机完爆以太坊的EVM
查看>>
高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解
查看>>