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是一个整数。 bin(2)是'0b10',它是一个字符串。您必须打印int('0b10', 2)才能打印2

10-06 15:08