@ -307,8 +307,8 @@ Point(x=<span class="hljs-number">1</span>, y=<span class="hljs-number">2</span>
< li > < strong > Every object has a type.< / strong > < / li >
< li > < strong > Every object has a type.< / strong > < / li >
< li > < strong > Type and class are synonymous.< / strong > < / li >
< li > < strong > Type and class are synonymous.< / strong > < / li >
< / ul >
< / ul >
< pre > < code class = "python language-python hljs" > < type> = type(< el> ) < span class = "hljs-comment" > # Or: < type> = < el> .__class__< / span >
< bool> = isinstance(< el> , < type> ) < span class = "hljs-comment" > # Also checks subclasses and ABCs. < / span >
< pre > < code class = "python language-python hljs" > < type> = type(< el> ) < span class = "hljs-comment" > # Or: < el> .__class__< / span >
< bool> = isinstance(< el> , < type> ) < span class = "hljs-comment" > # Or: issubclass(type(< el> ), < type> ) < / span >
< / code > < / pre >
< / code > < / pre >
< pre > < code class = "python language-python hljs" > < span class = "hljs-meta" > > > > < / span > type(< span class = "hljs-string" > 'a'< / span > ), < span class = "hljs-string" > 'a'< / span > .__class__, str
< pre > < code class = "python language-python hljs" > < span class = "hljs-meta" > > > > < / span > type(< span class = "hljs-string" > 'a'< / span > ), < span class = "hljs-string" > 'a'< / span > .__class__, str
(< < span class = "hljs-class" > < span class = "hljs-title" > class< / span > '< span class = "hljs-title" > str< / span > '> , < < span class = "hljs-title" > class< / span > '< span class = "hljs-title" > str< / span > '> , < < span class = "hljs-title" > class< / span > '< span class = "hljs-title" > str< / span > '> )
(< < span class = "hljs-class" > < span class = "hljs-title" > class< / span > '< span class = "hljs-title" > str< / span > '> , < < span class = "hljs-title" > class< / span > '< span class = "hljs-title" > str< / span > '> , < < span class = "hljs-title" > class< / span > '< span class = "hljs-title" > str< / span > '> )
@ -317,7 +317,7 @@ Point(x=<span class="hljs-number">1</span>, y=<span class="hljs-number">2</span>
< pre > < code class = "python language-python hljs" > < span class = "hljs-keyword" > from< / span > types < span class = "hljs-keyword" > import< / span > FunctionType, MethodType, LambdaType, GeneratorType
< pre > < code class = "python language-python hljs" > < span class = "hljs-keyword" > from< / span > types < span class = "hljs-keyword" > import< / span > FunctionType, MethodType, LambdaType, GeneratorType
< / code > < / pre >
< / code > < / pre >
< h3 id = "abcs" > ABC-s< / h3 >
< h3 id = "abcs" > ABC-s< / h3 >
< p > < strong > Abstract base classes introduce virtual subclasses, that don’t inherit from a class but are still recognized by isinstance().< / strong > < / p >
< p > < strong > Abstract base classes introduce virtual subclasses, that don’t inherit from a class but are still recognized by isinstance() and issubclass() .< / strong > < / p >
< pre > < code class = "python language-python hljs" > < span class = "hljs-keyword" > from< / span > numbers < span class = "hljs-keyword" > import< / span > Integral, Rational, Real, Complex, Number
< pre > < code class = "python language-python hljs" > < span class = "hljs-keyword" > from< / span > numbers < span class = "hljs-keyword" > import< / span > Integral, Rational, Real, Complex, Number
< span class = "hljs-keyword" > from< / span > collections.abc < span class = "hljs-keyword" > import< / span > Iterable, Collection, Sequence
< span class = "hljs-keyword" > from< / span > collections.abc < span class = "hljs-keyword" > import< / span > Iterable, Collection, Sequence
< / code > < / pre >
< / code > < / pre >