• 技术文章 >Python技术 >Python基础教程

    Python int()使用小结

    宋雪维宋雪维2020-12-05 20:10:23原创5294

    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 (most recent call last):
      File "<pyshell#0>", line 1, in <module>
        int(1+2j)
    TypeError: can't convert complex to int

    数字字符串可以是整数字符串如’123’,但不能是算术表达式字符串如’100/3’,或字符形式的浮点数如’1.5’

    >>> int('123')
    123
    >>> int(100/3)
    33
    >>> int('100/3')
    Traceback (most recent call last):
      File "<pyshell#2>", line 1, in <module>
        int('100/3')
    ValueError: invalid literal for int() with base 10: '100/3'
    >>> int('1.5')
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        int('1.5')
    ValueError: invalid literal for int() with base 10: '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 (most recent call last):
      File "<pyshell#8>", line 1, in <module>
        int(45,8)
    TypeError: int() can't convert non-string with explicit base
    >>> int(ab,16)
    Traceback (most recent call last):
      File "<pyshell#9>", line 1, in <module>
        int(ab,16)
    NameError: name 'ab' is not defined

    本文转载自:https://blog.csdn.net/

    专题推荐:pythonintpython基础
    上一篇:Python –如何将int转换为String 下一篇:python中用while语句将二进制转化为十进制

    相关文章推荐

    • python中如何进行希尔排序?• Python –如何将int转换为String

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网