int 创建整数

内置函数(类)int,Python 官方文档描述如下:

help(int)
Help on class int in module builtins:

class int(object)
 |  int([x]) -> integer
 |  int(x, base=10) -> integer
 |  
 |  Convert a number or string to an integer, 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 the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.
 |  >>> int('0b100', base=0)
 |  4
 |  
 |  Built-in subclasses:
 |      bool
 |  

将一个数字,字符串或字节串转换为整数。参数说明:

  • 不给参数返回整数 0。
  • 参数 x 为数字时,不能有参数 base,且数字不能是复数。浮点数将取整。
  • 参数 x 为字符串或字节串,参数 base 可选,默认按十进制转换,否则按照 base 指定进制转换。
  • base 取值范围为 0 和 2~36。
  • base 取 0 将按照参数 x 的字面量来精确解释。取其他数字则需符合相应进制规则。
  • 字符串或字节串不能是浮点数形式;前面可以有正负号;前后可以有空格,中间则不能有空格。
type(int)
type
int()
0
int(3.18e01), int(10), int(0x10)
(31, 10, 16)
int(' -10 '), int(b' +10')
(-10, 10)
int('10',2), int('10',8), int('z',36)
(2, 8, 35)
int('001'), int('0b10',0)
(1, 2)
int('001',0) # 001 不是合法的整数
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-12-1cf9048a8c3e> in <module>
----> 1 int('001',0)


ValueError: invalid literal for int() with base 0: '001'
int('9', 8) # 8 进制没有 9
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-13-3558097bd025> in <module>
----> 1 int('9', 8)


ValueError: invalid literal for int() with base 8: '9'
int('3.14') # 不能是浮点数形式
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-14-1456603af047> in <module>
----> 1 int('3.14')


ValueError: invalid literal for int() with base 10: '3.14'