summaryrefslogtreecommitdiff
path: root/3 Resources/Python
diff options
context:
space:
mode:
Diffstat (limited to '3 Resources/Python')
-rw-r--r--3 Resources/Python/Make dataclass dict-able.md5
-rw-r--r--3 Resources/Python/Python dunder.md6
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\_\_