参考了一个数的二进制形式有多少个1的思路。如果一个数是2的整数次方,那这个数的二进制形式中只有一个1,其余全为0
def func(k): return True if (k > 0) and not (k & (k - 1)) else False