在python解释器中,可以这样做:
import smtplib
然后,如果要输入:
smtplib.LMTP()
一个会得到类似的东西:
<class smtplib.LMTP at 0xsomeaddress>
问题:以上的通用名称是什么? 它是一个&#34;对象&#34;?
我知道可以像这样实例化:
a = smtplib.LMTP()
和a
将被称为&#34;实例&#34; smtplib.LMTP()
但是上面示例中的<....>
是什么?
请引证(最好来自docs.python.org)
答案 0 :(得分:0)
是的,两者都是对象。
在这两种情况下,您都要实例化LMTP类。不同之处在于,在后一种情况下,您可以省略对它的引用(a)。将LMTP实例分配给a时,对象信息&lt; ...&gt;只是不打印。
举例说明:
>>> import smtplib
>>> smtplib.LMTP()
<smtplib.LMTP instance at 0x10e581ab8>
>>> a = smtplib.LMTP()
>>> a
<smtplib.LMTP instance at 0x10e5815a8>
在上述情况下,LMTP的第一个实例没有引用,将被垃圾回收。第二个实例由a引用,并在离开作用域时进行垃圾回收。 &lt; ...&gt;的第一部分告诉你从哪个类实例化对象,第二部分告诉你在内存中的位置。