File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed
Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -2241,21 +2241,22 @@ def _check_isinstance(_types, **kwargs):
22412241 >>> cbook._check_isinstance((SomeClass, None), arg=arg)
22422242 """
22432243 types = _types
2244- if isinstance ( types , type ) or types is None :
2245- types = (types ,)
2246- none_allowed = None in types
2247- types = tuple (tp for tp in types if tp is not None )
2244+ none_type = type ( None )
2245+ types = (( types ,) if isinstance (types , type ) else
2246+ ( none_type ,) if types is None else
2247+ tuple (none_type if tp is None else tp for tp in types ) )
22482248
22492249 def type_name (tp ):
2250- return (tp .__qualname__ if tp .__module__ == "builtins"
2250+ return ("None" if tp is none_type
2251+ else tp .__qualname__ if tp .__module__ == "builtins"
22512252 else f"{ tp .__module__ } .{ tp .__qualname__ } " )
22522253
2253- names = [* map (type_name , types )]
2254- if none_allowed :
2255- types = (* types , type (None ))
2256- names .append ("None" )
22572254 for k , v in kwargs .items ():
22582255 if not isinstance (v , types ):
2256+ names = [* map (type_name , types )]
2257+ if "None" in names : # Move it to the end for better wording.
2258+ names .remove ("None" )
2259+ names .append ("None" )
22592260 raise TypeError (
22602261 "{!r} must be an instance of {}, not a {}" .format (
22612262 k ,
You can’t perform that action at this time.
0 commit comments