adam.pre...@gmail.com wrote:
I've figured from this that I could do most
variable access by just generating LOAD/STORE_NAME and the FAST is an
(important) optimization.

Yes, that's possible, although access to intermediate scopes
(i.e. nonlocal) will need something else.

An
important exception there would be for built-ins and presumably imported
stuff, right?

No, importing things just binds names in your module namespace,
so LOAD_GLOBAL does for them too. Also builtins, since if
LOAD_GLOBAL doesn't find something in the module namespace,
it looks in the builtins.

I'm asking because right now I've literally hard-coded some logic that tells
me if I'm generating a class body so I know to use names. I just feel kind of
silly doing that.

There's nothing silly about that -- it's effectively what CPython
does.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to