Python中的int()函数相信大家都不陌生,总的来说,就是int()函数用于将字符串或数字转换为整型
那么今天要说的有趣用法是什么呢?

先看一行代码,并猜一下它有什么作用

int('1' * 200,2)

初看这行代码想半天也没搞懂,于是help(int)看看是怎么说的

python int 取值范围 python的int()_进制


如果x不是一个数字,base在这里的意思是进制,或者进制已经给出,那么x一定是一个字符或字符串

再看回上面的代码,‘1’ * 200相当于创建了一个200个1的字符串,并且指定其为2进制,再想想2进制转十进制,那么上面的代码就相当于等比数列前200项求和: 2 ^ 0 + 2 ^ 1 + 2 ^ 2 + 2 ^ 3 + …+ 2^199

也相当于这行代码:

sum(2 ** i for i in range(200))

我们来看两种方式的结果

python int 取值范围 python的int()_python int 取值范围_02


但是值得一提的是,第一种方法的速度比第二种快很多。