Python中的int()函数相信大家都不陌生,总的来说,就是int()函数用于将字符串或数字转换为整型
那么今天要说的有趣用法是什么呢?
先看一行代码,并猜一下它有什么作用
int('1' * 200,2)
初看这行代码想半天也没搞懂,于是help(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))
我们来看两种方式的结果
但是值得一提的是,第一种方法的速度比第二种快很多。