Python int()使用小结

Python (195) 2023-06-14 05:37:00

Python int()使用小结

int()的基本语法格式是int(x,[base=10]),其中base可以省略

int()的作用是把不同进制的数字或数字字符串转为十进制整数。使用中,其行为,参数有一些tricky,需要特别注意。

不带参数返回0,即int()

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
>>>int()
0
>>>int() 0
>>>int()
0

取整是简单截断,不是四舍五入,如int(1.5) = 1

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
>>>int(1.5)
1
>>>int(1.5) 1
>>>int(1.5)
1

参数可以是整数,浮点数,或算术表达式如100/3,但不能是复数,如1+2j

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
>>>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
>>>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
>>>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’

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
>>>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'
>>>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'
>>>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进制数

纯文本
复制到剪贴板
在新窗口中打开代码
EnlighterJS 3 Syntax Highlighter
>>>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
>>>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
>>>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/

THE END

发表回复