Python内置函数(33)——int

英文文档:

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).

 

说明:

  1. 不传入参数时,得到结果0。

>>> int()
0

  2. 传入数值时,调用其__int__()方法,浮点数将向下取整。

>>> int(3)
3
>>> int(3.6)
3

  3. 传入字符串时,默认以10进制进行转换。

>>> int('36')
36

>>> int('3.6')
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    int('3.6')
ValueError: invalid literal for int() with base 10: '3.6'

  4. 字符串中允许包含"+"、"-"号,但是加减号与数值间不能有空格,数值后、符号前可出现空格。

>>> int('+36')
36
>>> int('-36')
-36
>>> int('   -36        ')
-36
>>> int(' - 36        ')
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    int(' - 36        ')
ValueError: invalid literal for int() with base 10: ' - 36   

  5. 传入字符串,并指定了进制,则按对应进制将字符串转换成10进制整数。

>>> int('01',2)
1
>>> int('02',3)
2
>>> int('07',8)
7
>>> int('0f',16)
15

 

posted @ 2016-11-03 22:00  十月狐狸  阅读(5930)  评论(0编辑  收藏  举报