py/objmodule: Add support for __dict__.

This matches class `__dict__`, and is similarly gated on
MICROPY_CPYTHON_COMPAT. Unlike class though, because modules's globals are
actually dict instances, the result is a mutable dictionary.

This work was funded through GitHub Sponsors.

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
This commit is contained in:
Jim Mussared
2022-09-13 14:16:58 +10:00
committed by Damien George
parent d94141e147
commit 15d0615d5c
3 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
# test __dict__ attribute of a user module
import sys
if not hasattr(sys, "__dict__"):
print("SKIP")
raise SystemExit
import import1b
# dict of a user module (read/write)
print(import1b.var)
print(import1b.__dict__["var"])
import1b.__dict__["var"] = "hello"
print(import1b.var)
print(import1b.__dict__["var"])