int函數用來把其他類型向下轉換為整數類型
int(3.6) --- 3
int(3.2) --- 3
int(1/3) --- 0
int("1") --- 1
int()可以按照指定的進制的整數轉換為十進制的整數,如果不指定默認是十進制轉換為十進制,第二個參數給0和不給一樣,除非你自己指定隱含的進制
int("3333") --- 3333 (將十進制的3333轉化為十進制的數)
int("3333",0) --- 3333 (和上面一樣)
int("0x333") --- 819 將十六進制下的333轉化為對應的十進制的數
int("0x333",0) --- 819 (和上面一樣)
int() 函數第二個參數可以指定的 2 ~ 36 的整數,表示2進制 ~ 36進制
int("1111",2) --- 15 表示把二進制的1111轉化為對應的十進制的數
int("11111",8) --- 表示把八進制下的11111轉換為對應的十進制的數
阿凡提與國王比賽下棋,國王說要是自己輸了的話阿凡提想要什么他都可以拿得出來。阿凡提說那就要點米吧,棋盤一共64個小格子,在第一個格子里放1粒米,第二個格子里放2粒米,第三個格子里放4粒米,第四個格子里放8粒米,以此類推,后面每個格子里的米都是前一個格子里的2倍,一直把64個格子都放滿。需要多少粒米呢?當然,這個問題用列表推導式或者生成器表達式很容易計算。但是,用int()函數計算或許是最快的。
>>> int('1'*64, 2)
18446744073709551615