【发布时间】:2011-12-23 22:00:38
【问题描述】:
在 IDLE 解释器中,我使用 dpkt 执行以下操作:
for ts, buf in pcap:
eth = dpkt.ethernet.Ethernet(buf)
现在,当我尝试查看 'eth' 的内容时,我可以打印它,或者只写变量名。
当我这样做时:
print eth
我明白了:
O&áÿE(r @,òÀ¨
DYP?Jò}PªpÉ
但是,当我简单地写:
eth
我得到了更多预期的输出:
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)))
所以我的问题是,做“打印(变量)”和只写变量名之间的根本区别是什么?如果我做一个简单的分配(即“x = 100”),“print x”和“x”都会得到“100”的结果
【问题讨论】:
-
这是上面链接的问题的副本。 IDLE 的 Shell 在控制台窗口中密切模仿交互式 Python。 IDLE 将您输入的内容发送到 Python 并显示 Python 返回的结果。
标签: python variables printing python-idle