成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python解釋器簡介(2):代碼對象

開發 后端
這是Python解釋器簡介的第二部分。第一部分請點擊這里 。

這是Python解釋器簡介的第二部分。***部分請點擊這里 。

完成編譯之前的三個步驟都是在檢查一個簡單的函數對象。我們現在來談談更深層次的對象——函數的代碼對象。

  1. >>> def foo(a): 
  2. ...     x = 3 
  3. ...     return x + a 
  4. ... 
  5. >>> foo 
  6. <function foo at 0x107ef7aa0
  7. >>> foo.func_code 
  8. <code object foo at 0x107eeccb0, file "<stdin>", line 1

從上面的代碼,你能發現所謂的代碼對象就是函數對象的一個屬性。(這個函數對象還有許多其它的屬性,但它們大多都很無聊,因為 foo 函數實在是太簡單了。)

代碼對象是在Python編譯器中生成的,并且在解釋器中完成解釋工作。它向解釋器傳遞“開工了”的信息。我們再來看看代碼對象的屬性。

  1. >>> dir(foo.func_code) 
  2. ['__class__''__cmp__''__delattr__''__doc__''__eq__''__format__''__ge__'
  3. '__getattribute__''__gt__''__hash__''__init__''__le__''__lt__''__ne__''__new__'
  4. '__reduce__''__reduce_ex__''__repr__''__setattr__''__sizeof__''__str__'
  5. '__subclasshook__''co_argcount''co_cellvars''co_code''co_consts''co_filename'
  6. 'co_firstlineno''co_flags''co_freevars''co_lnotab''co_name''co_names''co_nlocals'
  7. 'co_stacksize''co_varnames'

這個屬性列表雖然很長,但是其中大多數屬性我們今天并不會涉及。我們只關注3個有趣的 foo 函數代碼對象的屬性。

  1. >>> foo.func_code.co_varnames 
  2. ('a''x'
  3. >>> foo.func_code.co_consts 
  4. (None3
  5. >>> foo.func_code.co_argcount 
  6. 1 

通過調用它們,我們能依次得到:變量名、函數中已知的常量和函數參數的數量。但是目前為止,我們還是不知道生成代碼對象的指令到底是什么。事實上,這個指令叫做字節碼。字節碼也是代碼對象的一個屬性:

  1. >>> foo.func_code.co_code 
  2. 'd\x01\x00}\x01\x00|\x01\x00|\x00\x00\x17S' 

我們得到了許多待分解的信息。這里到底發生了什么?在下一部分,我們將深入研究字節碼。

原文鏈接:http://blog.jobbole.com/56300/

責任編輯:陳四芳 來源: 伯樂在線
相關推薦

2014-01-21 09:15:12

Python函數

2010-03-04 11:07:21

Python解釋器

2021-07-07 10:31:19

對象池模式解釋器模式設計模式

2009-08-06 10:55:46

C#代碼解釋器

2016-09-12 14:05:27

PythonPython解釋器Web

2019-07-24 13:42:34

Python編程語言代碼

2024-05-15 10:07:11

Agents人工智能CSV

2023-10-18 10:48:44

Python解釋器

2010-02-01 17:11:45

Python 解釋器

2010-02-03 15:01:33

Python 解釋器

2010-10-28 10:54:46

oracle對象權限

2010-02-01 13:55:12

Python 解釋器

2010-02-01 17:41:54

Python 解釋器

2010-02-22 16:40:22

Python解釋器

2010-03-12 09:29:04

Python 代碼

2022-01-05 08:58:08

Python解釋器編程語言

2009-09-29 13:36:41

Spring業務服務對

2020-07-20 07:56:28

JavaScript開發技術

2018-09-18 15:58:46

硬盤JVMPython

2010-12-16 13:56:57

匿名對象.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品国产精品国产专区不卡 | 国产91在线播放 | 一级毛片视频在线 | 日韩免费高清视频 | 91视频在线 | 天天插天天舔 | 在线视频一区二区 | 91精品久久久久久久久中文字幕 | 中文字幕精品一区二区三区在线 | 偷拍第一页 | 亚洲福利视频一区二区 | 欧美一区二区三区在线视频 | 国产精品久久久久久模特 | 91在线精品秘密一区二区 | 男人的天堂中文字幕 | 国产成人一区二 | 浮生影院免费观看中文版 | 日韩成人久久 | 日韩免费高清视频 | 国产精品a免费一区久久电影 | 国产日产精品一区二区三区四区 | 91在线中文字幕 | 天堂素人约啪 | 青青久久av北条麻妃海外网 | 精品视频在线观看 | 午夜国产精品视频 | www久久爱| 久久精品视频亚洲 | 久久久久久一区 | 四虎在线视频 | 午夜久草 | 国产一区二区中文字幕 | 中文字幕在线免费观看 | 欧美精品日韩精品 | 国产精品久久久久久久久久久久久 | 国产精品日韩一区二区 | 久久久精品一区二区三区 | 久久国产精品无码网站 | 欧美在线综合 | 殴美黄色录像 | 香蕉久久久久久 |