int(x, [base])
功能:
函數的作用是將一個數字或base類型的字串轉換成整數。( Python視頻教程)
函數原型:
int(x=0)
int(x, base=10),base預設值為10,也就是說不指定base的值時,函數將x按十進位處理。
適用Python版本:
Python2.x
Python3.x
注意:
1. x 可以是數字或字串,但是base被賦值後 x 只能是字串
2. x 作為字串時必須是 base 類型,也就是說 x 變成數字時必須能用 base 進位表示
Python英文文檔解釋:
class int(x=0)
class int(x, base=10)
Return an integer object constructed from a number or string x, or return 0 if no arguments are given. If x is a number, return x.__int__(). For floating point numbers, this truncates towards zero.
If x is not a number or if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in radix base. Optionally, the literal can be preceded by + or - (with no space in between) and surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with a to z (or A to Z) having values 10 to 35. The default base is 10. The allowed values are 0 and 2–36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0B, 0o/0O, or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so that int('010', 0) is not legal, while int('010') is, as well as int('010', 8).
The integer type is described in Numeric Types — int, float, complex.
Changed in version 3.4: If base is not an instance of int and the base object has a base.__index__ method, that method is called to obtain an integer for the base. Previous versions used base.__int__ instead of base.__index__.
Changed in version 3.6: Grouping digits with underscores as in code literals is allowed.
代碼執行個體:
1. x 是數位情況:
int(3.14) # 3 int(2e2) # 200 int(100, 2) # 出錯,base 被賦值後函數只接收字串
2. x 是字串的情況:
int('23', 16) # 35 int('Pythontab', 8) # 出錯,Pythontab不是個8進位數
3. base 可取值範圍是 2~36,囊括了所有的英文字母(不區分大小寫),十六進位中F表示15,那麼G將在二十進位中表示16,依此類推....Z在三十六進位中表示35
int('FZ', 16) # 出錯,FZ不能用十六進位表示 int('FZ', 36) # 575
4. 字串 0x 可以出現在十六進位中,視作十六進位的符號,同理 0b 可以出現在二進位中,除此之外視作數字 0 和字母 x
int('0x10', 16) # 16,0x是十六進位的符號 int('0x10', 17) # 出錯,'0x10'中的 x 被視作英文字母 x int('0x10', 36) # 42804,36進位包含字母 x