内置函数issubclass()用于判断类对象与类对象之间的关系 内置函数isinstance()用于判断实例对象与类对象之间的关系
内置函数issubclass接受两个实参, 第一个实参是类对象, 第二个实参是类对象或由类对象组成的元组。
当第二个实参是类对象时,如果第一个实参是第二个实参的子类,那么返回true。 当第二个实参是类对象组成的元组时,如果第一个实参是第二个实参中任意一个类对象的子类,返回true。
内置函数isinstance接受两个实参:
第一个实参是类对象,第二个实参是类对象或由类对象组成的元组。当第二个实参是类对象时,如果第一个实参是第二个实参的子类,那么返回true。 当第二个实参是类对象组成的元组时,如果第一个实参是第二个实参中任意一个类对象的子类,返回true。
可以看到这里多了一个‘ia’
注意:只有在不知道对象信息的情况下,才会去获取对象的信息。 因此,如果可以直接写: object.name就不要写为getattr(object, ‘name’)。
标准算术运算符在默认情况下不能用于自定义类对象的实例对象 标准算术运算符在默认情况下不能用于自定义类对象的实例对象。
必须在自定义类对象中实现标准算术运算符对应的以下特殊方法:
+对应的特殊方法是add()与radd()-对应的特殊方法是sub()与rsub()x对应的特殊方法是mul()与rmul()/对应的特殊方法是truediv()和rtruediv()//对应的特殊方法是floordiv()和rfloordiv()类对象的特殊方法之__ str__()与__repr__()用于自定义并返回实例对象的字符串表示形式。
类对象的特殊方法之__ str__ ()和_ repr__ () 用于自定义并返回实例对象的字符串表示形式。 当在交互式命令行中直接打印一个实例对象时 如果在实例对象对应的类对象中实现了特殊方法__ repr__ (), 会自动调用该方法;否则,会打印实例对象对应的类对象和实例对象在内存中的地址。当调用内置函数print打印-一个实例对象时 如果在实例对象对应的类对象中实现了特殊方法__ str__ (), 会自动调用该方法; 否则,如果在实例对象对应的类对象中实现了特殊方法__ repr__ (), 会自动调用该方法;否则,会打印实例对象对应的类对象和实例对象在内存中的地址。当调用内置函数str创建字符串并且实参是一个实例对象时 如果在实例对象对应的类对象中实现了特殊方法__ str__ (), 在内置函数st r的内部会自动调用该方法; 否则,如果在实例对象对应的类对象中实现了特殊方法_ repr__ (), 在内置函数str的内部会自动调用该方法;否则,会打印实例对象对应的类对象和实例对象在内存中的地址。当调用内置函数repr创建字符串并且实参是一个实例对象时 如果在实例对象对应的类对象中实现了特殊方法__ repr__ (), 在内置函数repr的内部会自动调用该方法;否则,会打印实例对象对应的类对象和实例对象在内存中的地址。