mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 03:30:14 +01:00
py/objtype: Add __dict__ attribute for class objects.
The behavior mirrors the instance object dict attribute where a copy of the local attributes are provided (unless the dict is read-only, then that dict itself is returned, as an optimisation). MicroPython does not support modifying this dict because the changes will not be reflected in the class. The feature is only enabled if MICROPY_CPYTHON_COMPAT is set, the same as the instance version.
This commit is contained in:
committed by
Damien George
parent
29e258611a
commit
28370c0450
19
tests/basics/class_dict.py
Normal file
19
tests/basics/class_dict.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# test __dict__ attribute of a class
|
||||
|
||||
if not hasattr(int, "__dict__"):
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
|
||||
# dict of a built-in type
|
||||
print("from_bytes" in int.__dict__)
|
||||
|
||||
|
||||
# dict of a user class
|
||||
class Foo:
|
||||
a = 1
|
||||
b = "bar"
|
||||
|
||||
|
||||
d = Foo.__dict__
|
||||
print(d["a"], d["b"])
|
||||
Reference in New Issue
Block a user