Sometimes, a function or class constructor can take many possible parameters, but only one parameter can have a value
at any one time, excluding all others. One way to validate this is included in the Python standard library. Copying
class UUID: def __init__(self, hex=None, bytes=None, bytes_le=None, fields=None, int=None, version=None, *, is_safe=SafeUUID.unknown): if [hex, bytes, bytes_le, fields, int].count(None) != 4: raise TypeError('one of the hex, bytes, bytes_le, fields, ' 'or int arguments must be given')
The idea here is that since all five mutually exclusive parameters
have a default value of
None, when one of them is specified during instatiation, there will then be four
parameters left with value
Image credit: Wicklow Mountains, by Marcus Tan. In the Public Domain. Source.