【发布时间】:2016-12-13 07:06:39
【问题描述】:
Python 2.6/2.7
我有以下程序。
print 0b10
def p_m(x):
print x
p_m(bin(2))
输出:
2
0b10
我想在 p_m() 中打印的是“0b10”的 2(十进制值),这是我作为第一个参数传递给 p_m() 并在变量 x 中获取此值“0b10”并打印那个 x。
为什么函数内部的print x 不像程序的第一行那样工作?
在 p_m() 的 print 语句中我应该怎么做才能将 "0b10" 的值打印为 2。
【问题讨论】:
-
0b10是一个int。bin(2)是'0b10',它是一个字符串。您必须print int('0b10', 2)才能打印 2 -
@M.Klugerford 谢谢。没有检查 int() 是否可以将基值作为 2 传递。谢谢。如果你能回答,我会标记它。顺便说一句,给 print int(x,10) 不起作用,我猜是因为 0b10 不是基数为 10(小数)的有效值。
标签: python python-2.7 binary decimal bits