官术网_书友最值得收藏!

The Python execution model

In order to have a really solid foundation in Python, it's important to understand the Python  execution model. By this, we mean the rules defining precisely when function definitions and other important events occur during module import and execution. To help you develop this understanding, we'll focus on the def keyword since you're already familiar with it. Once you have an understanding of how def is processed by Python, you'll know most of what you need to know about Python's execution model.

What's important to understand is this: def isn't merely a declaration, it's a statement. What this means is that def is actually executed at runtime along with the rest of the top-level module-scope code. What def does is to bind the code in the function's body to the name following def. When modules are imported or run, all of the top-level statements are run, and this is the means by which the functions within the module namespace are defined.

To reiterate, def is executed at runtime. This is very different from how function definitions are handled in many other languages, especially compiled languages like C++, Java, and C#. In those languages, function definitions are processed by the compiler at compile time, not at runtime. By the time the program is actually executing, those function definitions are fixed. In Python there is no compiler, and functions don't exist in any form — except that of source code — until execution. In fact, since a function is only defined when its def is processed on import, a function in a module which is never imported will never be defined.

Understanding this dynamic nature of Python function definitions is critical to understanding important concepts later in this book, so make sure you're comfortable with it. If you've access to a Python debugger, For Example, in an IDE, you might spend some time stepping through your words.py module as it's imported.

主站蜘蛛池模板: 仲巴县| 新郑市| 深泽县| 沧州市| 武平县| 蒲江县| 略阳县| 泾阳县| 舟曲县| 潞西市| 读书| 榆中县| 科尔| 娄烦县| 徐闻县| 新宁县| 阳谷县| 潜山县| 沛县| 开鲁县| 辛集市| 碌曲县| 西峡县| 上虞市| 东丰县| 高碑店市| 中卫市| 阿坝| 周至县| 乐平市| 驻马店市| 正定县| 铜山县| 四会市| 赫章县| 大港区| 五原县| 常山县| 黄山市| 平邑县| 徐州市|