带有 2 个 args 的 int() 函数在 Python 中的作用是啥

Posted

技术标签:

【中文标题】带有 2 个 args 的 int() 函数在 Python 中的作用是啥【英文标题】:What does int() function with 2 args do in Python带有 2 个 args 的 int() 函数在 Python 中的作用是什么 【发布时间】:2015-02-27 01:55:46 【问题描述】:

在下面的代码中,int() 对这两个参数做了什么:

if (i=='0X0F'):
    stat = int(log[i+1],16)

【问题讨论】:

您认为它与文档有何不同? 这个问题似乎离题了,因为谷歌搜索“python int”并不太难。 @MattDMo 这不是结束问题的理由,只是投反对票。 @John 我知道,但仍然... 这对谷歌来说似乎相当简单,或者只是尝试使用解释器。有没有什么你认为它做了或应该做的事情违反了直觉?有时它有助于让人们知道您对某事有所思考以及您的困惑所在。 【参考方案1】:
class int(object)
 |  int(x=0) -> int or long
 |  int(x, base=10) -> int or long
 |  
 |  Convert a number or string to an integer, or return 0 if no arguments
 |  are given.  If x is floating point, the conversion truncates towards zero.
 |  If x is outside the integer range, the function returns a long instead.
 |  
 |  If x is not a number or if base is given, then x must be a string or
 |  Unicode object representing an integer literal in the given base.  The
 |  literal can be preceded by '+' or '-' and be surrounded by whitespace.
 |  The base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to
 |  interpret the base from the string as an integer literal.

【讨论】:

【参考方案2】:

第二个参数告诉int 输入字符串的基数。来自帮助:

class int(object)
 |  int(x=0) -> integer
 |  int(x, base=10) -> integer
 |  
 |  Convert a number or string to an integer, 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 the
 |  given base.  The literal can be preceded by '+' or '-' and be surrounded
 |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
 |  Base 0 means to interpret the base from the string as an integer literal.

所以如果你做int(S, B),它会说转换S,这是一个以B为基数的数字的字符串表示:

In [63]: int('10', 2)
Out[63]: 2

In [64]: int('10', 3)
Out[64]: 3

现在,如果 B 大于 10,则 python 假定下一个数字序列来自 ABCD...。因此:

In [65]: int("A", 11)
Out[65]: 10

【讨论】:

以上是关于带有 2 个 args 的 int() 函数在 Python 中的作用是啥的主要内容,如果未能解决你的问题,请参考以下文章

向一组主机发送带有确认的消息

c语言malloc函数

编写函数可以对任意个整型元素 的数组排序,用指针实现函数原型为sort(int*p,intn),其

一个年级有m个班,每个班有n个学生,编写java程序用二维数组保存学生成绩,计算学生平均成绩

函数指针表达式

C语言定义一个求数组n个元素的和的函数