偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

用Python程序執(zhí)行討論Python實現(xiàn)基本的框架與結(jié)構(gòu)

開發(fā) 后端
在啟動Python程序,我們就能看到Python的main函數(shù)中相關(guān)的內(nèi)容,而雜File模式,執(zhí)行Python程序和交互都?xì)w在此類。以下就是文章的相關(guān)內(nèi)容。

執(zhí)行Python程序的相關(guān)過程中時,你會發(fā)現(xiàn)你其功能非常簡單,例如從1加到10再打印出來而雜File模式,執(zhí)行Python程序和交互都?xì)w在此類。以下就是文章的相關(guān)內(nèi)容的詳細(xì)介紹。忘你會有所收獲。

Python源碼分析2 - 一個簡單的Python程序執(zhí)行 收藏
本文主要通過跟蹤一個非常簡單的Python程序的執(zhí)行,簡單討論Python實現(xiàn)的基本框架和結(jié)構(gòu)。

要執(zhí)行Python程序如下,功能非常簡單:從1加到10再打印出來

 

  1. # test program   
  2. sum = 0   
  3. for i in range(1, 11):   
  4. sumsum = sum + i   
  5. print sum   

 

如果想要在Windows下面用VS 2005調(diào)試Python,可以通過下面步驟設(shè)置:

把Startup Project設(shè)置成Python,這樣就可以直接通過F5來啟動Python 右鍵單擊Python這個Project,選擇Properties。在對話框中的Configuration Properties->Debugging下面,把Command Arguments設(shè)置為-d test.py。其中test.py就是我們所要調(diào)試程序的名字。-d表示打開調(diào)試開關(guān),可以看到額外的調(diào)試信息。

 好了,設(shè)置完畢之后可以直接按下F10來單步追蹤該程序的執(zhí)行了。

首先,F(xiàn)10,啟動Python程序,可以看到Python的main函數(shù)中沒有什么內(nèi)容,只是簡單的調(diào)用Py_Main。Py_Main顧名思義自然是主函數(shù)了,分幾大部分:

分析命令行和環(huán)境變量

調(diào)用Py_Initialize初始化

根據(jù)命令行的內(nèi)容執(zhí)行進(jìn)入不同的執(zhí)行模式

 

  1. if (command) {   
  2. sts = PyRun_SimpleStringFlags(command, &cf) != 0;   
  3. free(command);   
  4. } else if (module) {   
  5. sts = RunModule(module);   
  6. free(module);   
  7. }   
  8. else {   
  9. if (filename == NULL && stdin_is_interactive) {   
  10. RunStartupFile(&cf);   
  11. }   
  12. /* XXX */   
  13. sts = PyRun_AnyFileExFlags(   
  14. fp,   
  15. filename == NULL ? "<stdin>" : filename,   
  16. filename != NULL, &cf) != 0;   
  17. }    

 

從上面的代碼可以很容易看出,一共有3種執(zhí)行方式:

Command模式,執(zhí)行單條Python語句。通過-c指定。語句內(nèi)容存放在command變量中。調(diào)用PyRun_SimpleStringFlags來執(zhí)行。

Module模式,執(zhí)行整個Module。通過-m指定。調(diào)用RunModule來執(zhí)行。

File模式,執(zhí)行Python程序和交互都?xì)w在此類??梢钥吹?,如果未指定文件名并且stdin是交互的話,會執(zhí)行一個PYTHONSTARTUP所指定的源程序。

【編輯推薦】

  1. 對Python源代碼組織的相關(guān)實際操作步驟解析
  2. Python語言中常用的四種工具的介紹
  3. Python語言功能中的宏編程語言的實際操作方案介紹
  4. Python unicode ascii編碼在windows中的實際應(yīng)用
  5. mod_python在性能上要優(yōu)于傳統(tǒng)CGI的緣由
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2022-07-27 10:39:27

Python打包工具

2013-09-17 10:35:17

Python執(zhí)行原理

2023-09-25 12:23:18

Python

2020-02-06 10:10:24

python程序代碼

2015-09-06 10:58:36

PHP框架搭建結(jié)構(gòu)

2011-07-22 13:41:57

java

2010-03-26 14:49:04

Python腳本

2016-09-12 14:05:27

PythonPython解釋器Web

2010-09-09 16:26:51

SQL循環(huán)For

2010-02-24 10:39:28

Python虛擬機

2010-03-25 16:51:12

Python程序

2011-09-15 10:15:30

Spring

2016-10-09 08:57:11

python數(shù)據(jù)結(jié)構(gòu)與算法樹形結(jié)構(gòu)

2022-02-07 08:00:00

Python框架應(yīng)用程序

2023-04-06 07:49:23

Python數(shù)據(jù)類型

2009-12-29 14:36:29

Ubuntu cron

2015-10-09 16:42:16

GDB 排查Python程序故障

2010-02-23 17:35:46

Python

2010-03-04 09:49:58

Python Hell

2010-03-03 09:30:40

Python實現(xiàn)網(wǎng)頁爬
點贊
收藏

51CTO技術(shù)棧公眾號