正在看一個(gè)在線教程 Data Structures and Algorithms with Object-Oriented Design Patterns in Python(http://www.brpreiss.com/books/opus7/)
在 http://www.brpreiss.com/books/opus7/ 中有這么一句:
“You should understand how the Python virtual machine determines the code to execute when a particular method is called。”
我對(duì)其中的virtual machine 不是特別理解, 所以這里感覺(jué)有點(diǎn)模糊,過(guò)來(lái)提問(wèn)下,希望對(duì)python本身實(shí)現(xiàn)比較了解的同學(xué),給解個(gè)惑:
1. virtual machine 是什么?
2. 提問(wèn)標(biāo)題:調(diào)用方法, virtual machine 會(huì)怎么做?
先說(shuō)下自己的理解,因?yàn)檫@個(gè)章節(jié)提到了(類)繼承,所以在調(diào)用方法, 假設(shè)該方法名為isTrue時(shí),virtual machine 會(huì)先在當(dāng)前類或者實(shí)例中查找是否有isTrue這個(gè)方法。若有,則執(zhí)行其下的代碼塊;若無(wú),則去當(dāng)前類的基類中去檢查是否有isTrue這個(gè)方法。之后重復(fù)此操作,直到元類.
ringa_lee