- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有这个示例代码:
test = 1011
test2 = int(test, 2)
print(test2)
会报错
int() can't convert non-string with explicit base
当我将 test
包装到 str()
中时,代码有效,因为 int 转换需要一个字符串作为输入。
我的问题:为什么会这样,在接受 int 的同时是否没有简单的方法来转换 bases?我发现整数转换方法需要一个字符串作为输入是相当违反直觉的。
最佳答案
因为将它应用于整数没有意义
在您的示例中,test
是一个数字。它没有基础。所有数字都是这样的:二进制 0x1011、十进制 11 和十六进制 0x0B 是完全相同的数字。三种写法只不过是同一事物的不同写法,就如同用汉字写三、三一样。当然,在计算机内部,数字以二进制表示——例如0b1111110011
- 但可以显示在您喜欢的任何基地。基数仅在将数字转换为字符串或从字符串转换时才相关。
但是,如果您想使用二进制表示设置test
,您可以简单地写:
test = 0b1011
关于Python - 为什么 `int(x, 2)` 只能用于字符串,不能用于整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52949732/
有一条(相对)众所周知的 Perl 公理:“只有 Perl 可以解析 Perl”。我想知道 Perl 6 是否仍然如此? 扩大讨论...考虑到 PyPy 最近的更新,我想到了这个问题。 Perl 独特
这是设置。在上一个问题中,我发现我可以通过子组件中的状态传递对象属性,然后使用 componentDidUpdate 获取该对象属性。在这种情况下,状态和属性都称为到达。 这是基本代码... expo
我运行的是 10.5.2 社区版。我已经标记了 源/主要/资源 作为源目录。我可以右键单击并“编译”某些文件,据我所知,这意味着 IDE 将文件复制到与发送类文件的“com.mydomain.pack
我是一名优秀的程序员,十分优秀!