From 80ccf68f55dbb70d7e5ed52ee95b3c9d1b6ce264 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Thu, 20 Mar 2025 11:07:49 +0100 Subject: vault backup: 2025-03-20 11:07:48 --- 3 Resources/Python/Make dataclass dict-able.md | 5 +++++ 3 Resources/Python/Python dunder.md | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 3 Resources/Python/Python dunder.md (limited to '3 Resources/Python') 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\_\_ -- cgit v1.2.3