Python+int('35',8)为啥等于29?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+int('35',8)为啥等于29?相关的知识,希望对你有一定的参考价值。

参考技术A Python中的int()函数用于将一个字符串或数字转换为整型。在这个例子中,int()函数的第一个参数是字符串'35',第二个参数是数字8,表示将字符串'35'转换为8进制数。由于8进制数'35'对应的十进制数是29,因此int('35',8)的返回值为29。 参考技术B int('字符串', 数字),不会错的方法是:
int('35', base=8)会得到你要的53
参考技术C 在 Python 中,int() 函数用于将字符串转换为整数。第二个参数(8)表示要转换的字符串的进制,这里表示字符串 '35' 是一个八进制数。因此,int('35', 8) 将八进制数 '35' 转换为十进制数,即 29。

python 中的int函数怎么用

int()是Python的一个内部函数

Python系统帮助里面是这么说的

[python] view plain copy

    >>> help(int)  

    Help on class int in module __builtin__:  

    class int(object)  

    |  int(x[, base]) -> integer  

    |    

    |  Convert a string or number to an integer, if possible.  A floating point  

    |  argument will be truncated towards zero (this does not include a string  

    |  representation of a floating point number!)  When converting a string, use  

    |  the optional base.  It is an error to supply a base when converting a  

    |  non-string.  If base is zero, the proper base is guessed based on the  

    |  string content.  If the argument is outside the integer range a  

    |  long object will be returned instead.  

     

    [python] view plain copy

    >>> int(12.0)  

    12  

     

    int()函数可以将一个数转化为整数

    [python] view plain copy

    >>> int('12',16)  

    18  

     

    这里有两个地方要注意:1)12要以字符串的形式进行输入,如果是带参数base的话

    2)这里并不是将12转换为16进制的数,而是说12就是一个16进制的数,int()函数将其用十进制数表示,如下

    [python] view plain copy

    >>> int('0xa',16)  

    10  

    >>> int('10',8)  


参考技术A Python int()函数用于将一个字符串或数字转换为整型。
语法
以下是Python int()函数的语法:
class int(x, base=10)
参数
x--字符串或数字
base--进制数,默认十进制
返回值
返回整型数据
实例
以下展示了使用int()方法的实例:
>>>int() # 不传入参数时,得到结果0
0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16)
10
>>> int('10',8)
8

以上是关于Python+int('35',8)为啥等于29?的主要内容,如果未能解决你的问题,请参考以下文章

Python字符串转整数

Python字符串转整数

键盘任意输入三个整数,要求按照从小到大的熟悉排列python

python大作业的详细描述

python出错:AttributeError: 'int' object has no attribute 'encode'

求助python大神