之间有什么区别__str__和__repr__在__str__?
在IDLE解释器中,我使用dpkt执行以下操作:
for ts, buf in pcap:
eth = dpkt.ethernet.Ethernet(buf)
Run Code Online (Sandbox Code Playgroud)
现在,当我试图看到'eth'的内容时,我可以打印它,或者只是写变量名.
当我做:
print eth
Run Code Online (Sandbox Code Playgroud)
我明白了:
O&áÿE(r @,òÀ¨
DYP?Jò}PªpÉ
Run Code Online (Sandbox Code Playgroud)
但是,当我简单地写:
eth
Run Code Online (Sandbox Code Playgroud)
我得到了更多的预期输出:
Ethernet(src='<removed>', dst='<removed>', data=IP(src='<removed>', off=16384, dst='<removed>', sum=11506, len=40, p=6, ttl=128, id=29344, data=TCP(seq=2527752393, ack=218580057, win=16202, sum=62077, flags=16, dport=80, sport=51626)))
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,做一个"打印(变量)"和写变量名之间的根本区别是什么?如果我做一个简单的赋值(即"x = 100"),我将得到"100"的结果"print x"和"x"