| 67 | |
| 68 | print("Example 3") |
| 69 | class LoggingLazyRecord(LazyRecord): |
| 70 | def __getattr__(self, name): |
| 71 | print( |
| 72 | f"* Called __getattr__({name!r}), " |
| 73 | f"populating instance dictionary" |
| 74 | ) |
| 75 | result = super().__getattr__(name) |
| 76 | print(f"* Returning {result!r}") |
| 77 | return result |
| 78 | |
| 79 | data = LoggingLazyRecord() |
| 80 | print("exists: ", data.exists) |