Python bytecode format changed deeply in Python 3.6. It now uses regular units of 2 bytes, instead of 1 or 3 bytes depending if the instruction has an argument. See for example https://bugs.python.org/issue26647 "wordcode". But CALL_FUNCTION bytecode also evolved. Victor 2018-01-20 0:46 GMT+01:00 Alexander Belopolsky <alexander.belopolsky at gmail.com>: > I have encountered the following difference between Python 3 and 2: > > (py3) >>>> compile('xxx', '<>', 'eval').co_code > b'e\x00S\x00' > > (py2) >>>> compile('xxx', '<>', 'eval').co_code > 'e\x00\x00S' > > Note that 'S' (the code for RETURN_VALUE) and a zero byte are swapped > in Python 2 compared to Python 3. Is this change documented > somewhere? > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: https://mail.python.org/mailman/options/python-dev/victor.stinner%40gmail.com
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4