Python int()使用小结
int()的基本语法格式是int(x,[base=10]),其中base可以省略
int()的作用是把不同进制的数字或数字字符串转为十进制整数。使用中,其行为,参数有一些tricky,需要特别注意。
不带参数返回0,即int()
>>>int() 0
取整是简单截断,不是四舍五入,如int(1.5) = 1
>>>int(1.5) 1
参数可以是整数,浮点数,或算术表达式如100/3,但不能是复数,如1+2j
>>>int(3) 3 >>>int(3.5) 3 >>>int(100/3) 33 >>>int(1+2j) Traceback(mostrecentcalllast): File"<pyshell#0>",line1,in<module> int(1+2j) TypeError:can'tconvertcomplextoint
数字字符串可以是整数字符串如’123’,但不能是算术表达式字符串如’100/3’,或字符形式的浮点数如’1.5’
>>>int('123') 123 >>>int(100/3) 33 >>>int('100/3') Traceback(mostrecentcalllast): File"<pyshell#2>",line1,in<module> int('100/3') ValueError:invalidliteralforint()withbase10:'100/3' >>>int('1.5') Traceback(mostrecentcalllast): File"<pyshell#6>",line1,in<module> int('1.5') ValueError:invalidliteralforint()withbase10:'1.5'
base缺省值是10,表示十进制,如果包括base参数,则前面的x必须是符合当前进制的数字字符串此时int的作用是把base进制代表的数字字符串x,转换为10进制数
>>>int('45',8)#把8进制'45'转换为十进制数37 37 >>>int('ab',16)# 171 >>>int(45,8) Traceback(mostrecentcalllast): File"<pyshell#8>",line1,in<module> int(45,8) TypeError:int()can'tconvertnon-stringwithexplicitbase >>>int(ab,16) Traceback(mostrecentcalllast): File"<pyshell#9>",line1,in<module> int(ab,16) NameError:name'ab'isnotdefined
本文转载自:https://blog.csdn.net/