本问题已经有最佳答案,请猛点这里访问。
输入命令0xbin()返回假:
>>> 0xbin()
False
为什么会这样?这个语法应该没有任何意义。函数不能以0开头,十六进制中没有"i"和"n",bin函数必须有一些参数。
它需要争论!0xbin(013,37)。
@如果你想得到True,你可以用一个单一的论点来尝试0xbin(11,)。
0xbin(013,37)也会给出正确的答案;)(在python 2.7中)
这仅仅是因为lexer和parser的实现者只关心通过良好格式化的代码获得所需的行为。将0xb和in并列应视为无效的令牌。
与0xband()比较对比。tokenizer贪婪,把0xba作为tokenizer。
@投票重新开放的人:请解释为什么这不是一个骗局。如果你说服我,我会重新打开它。
@Kevin可能是dupe的目标,"为什么有时候代币之间不需要空格?"这个问题就像"代币是什么?"(我可以重新开放自己,但既然我回答了,而且有很多选票,我就不会这么做了,以防它被视为COI)
python似乎把0xbin()解释为0xb in (),意思是空元组中有11个。答案是否定的,因此False。
所以很明显"in"、"is"等不需要空间?我第一次遇到这个问题,但它是有意义的,因为"
显然是的。python引用说,只有当标记之间的连接可以解释为不同的标记时,才