之间有什么区别__str__和__repr__在__str__?
我在一个项目中找到了以下代码。
什么是!r部分是什么意思?
def __repr__(self):
return f"user={self.user!r}, variant={self.variant!r}"
Run Code Online (Sandbox Code Playgroud) Python具有内置函数type,每个实例也有一个__class__属性.我一般认为他们回归了同样的事情.甚至两个声音的文档都相似:
instance.__class__类实例所属的类.
和
type(object)使用一个参数,返回对象的类型.
但是,abc.ABCMeta.__instancecheck__检查它们是否相同(略微缩短):
subclass = instance.__class__
subtype = type(instance)
if subtype is subclass:
Run Code Online (Sandbox Code Playgroud)
什么时候不是这样的?什么时候type(instance)不一样instance.__class__?