In Python using an empty list as a default argument to a function or method is a mistake.
For a great explanation of why please see https://nikos7am.com/posts/mutable-default-arguments/
pdbecif uses empty lists as default arguments extensively for instance
|
def parse( |
|
self, |
|
file_path, |
|
ignoreCategories=[], |
|
preserve_token_order=False, |
|
onlyCategories=[], |
|
): |
If ignoreCategories or onlyCategories are used then they may well be reused on subsequent calls.