diff options
Diffstat (limited to '3 Resources/Python')
-rw-r--r-- | 3 Resources/Python/Make dataclass dict-able.md | 5 | ||||
-rw-r--r-- | 3 Resources/Python/Python dunder.md | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/3 Resources/Python/Make dataclass dict-able.md b/3 Resources/Python/Make dataclass dict-able.md index d8ee02b..7cb391b 100644 --- a/3 Resources/Python/Make dataclass dict-able.md +++ b/3 Resources/Python/Make dataclass dict-able.md @@ -12,4 +12,9 @@ We can use `vars` to make that easy: def __iter__(self): for k, v in vars(self): yield k, v +``` + +> This only works when all vars are primtiives, a list of objects for example needs nested iteration. Example: +``` +yield "volumes", [iter(vol) for vol in self.volumes] ```
\ No newline at end of file diff --git a/3 Resources/Python/Python dunder.md b/3 Resources/Python/Python dunder.md new file mode 100644 index 0000000..ca24307 --- /dev/null +++ b/3 Resources/Python/Python dunder.md @@ -0,0 +1,6 @@ +--- +tags: + - python +--- +Everything in python is an object, even strings, functions etc. +all operations are defined as dunder methods; eg "bla" + "bla" == str.\_\_add\_\_ |