看啥推荐读物
专栏名称: Python小屋
清华出版社《Python程序设计》系列教材作者董付国的Python小屋。介绍Python基础语法知识、标准库、扩展库知识,探讨Python在各领域的应用。
今天看啥  ›  专栏  ›  Python小屋

Python中表达式int('0x10, 36)的值是。。。

Python小屋  · 公众号  · Python  · 2018-02-23 18:10
在Python中,int()可用来把实数转换为整数,或者把数字字符串按指定进制转换为十进制数,详见文末的相关阅读。然而,下面的代码又应该如何解释呢?>>> int('0x10', 36)42804按照传统意义的解释,0x开头表示十六进制,而试图把十六进制数看作36进制数并转换为十进制数,上面的代码应该出错,但是却又没有出错。把'0x10'当作36进制,那么x又表示什么呢?执行下面的代码试试:>>> import string>>> for ch in string.ascii_lowercase:    print(ch, int(ch, 36)) a 10b 11c 12d 13e 14f 15g 16h 17i 18j 19k 20l 21m 22n 23o 24p 25q 26r 27s 28t 29u 30v 31w 32x 33y 34z 35看到这里,似乎应该想到了一个问题,Python的int()函数的第二个参数为啥要限制为0或2-36呢?上面的代码应该可以解释这个问题。对于N进制的数字,每一位 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照