@@ -622,25 +622,23 @@ def _format_pprint(self, object, method, context, maxlevels, level):
622622 readable = True
623623
624624 for item in method (object ):
625- if isinstance (item , tuple ):
626- if len (item ) == 2 :
627- # (name, value) - always show
628- name , value = item
629- vrep , vreadable , _ = self .format (value , context , maxlevels , level + 1 )
630- parts .append (f"{ name } ={ vrep } " )
631- readable = readable and vreadable
632- elif len (item ) == 3 :
633- # (name, value, default) - show only if value != default
634- name , value , default = item
625+ match item :
626+ case (name , value , default ):
627+ # Keyword argument w/default. Show only if value != default.
635628 if value != default :
636- vrep , vreadable , _ = self .format (value , context , maxlevels , level + 1 )
637- parts .append (f"{ name } ={ vrep } " )
638- readable = readable and vreadable
639- else :
640- # Positional argument
641- vrep , vreadable , _ = self .format (item , context , maxlevels , level + 1 )
642- parts .append (vrep )
643- readable = readable and vreadable
629+ formatted , is_readable , _ = self .format (value , context , maxlevels , level + 1 )
630+ parts .append (f"{ name } ={ formatted } " )
631+ readable = readable and is_readable
632+ case (name , value ):
633+ # Keyword argument. Always show.
634+ formatted , is_readable , _ = self .format (value , context , maxlevels , level + 1 )
635+ parts .append (f"{ name } ={ formatted } " )
636+ readable = readable and is_readable
637+ case _:
638+ # Positional argument.
639+ formatted , is_readable , _ = self .format (item , context , maxlevels , level + 1 )
640+ parts .append (formatted )
641+ readable = readable and is_readable
644642
645643 rep = f"{ cls_name } ({ ', ' .join (parts )} )"
646644 return rep , readable , False
0 commit comments