zoukankan      html  css  js  c++  java
  • python 函数调用顺序

    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')
  • 相关阅读:
    面试题
    学习Javascript闭包(Closure)
    git命令
    css3 3d翻转效果
    meta 如何写
    Java String equals和==的比较
    MySQL Explain详解
    MySQL explain,type分析(转)
    python的内存分析和处理
    python lambda的使用
  • 原文地址:https://www.cnblogs.com/zhangbo2008/p/8214938.html
Copyright © 2011-2022 走看看