python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python中int()用法

Python内置函数int()用法简单介绍

作者:weixin_44591885

这篇文章主要给大家介绍了关于Python内置函数int()用法的相关资料,int()函数常用来把其他类型转换为整数,文中通过代码介绍的非常详细,对大家学习或者使用python具有一定的参考借鉴价值,需要的朋友可以参考下

int()是Python中的一个内置函数,主要用于将其他类型的数据转换为整型,本文将从多个方面对其用法进行详细阐述。

一、基本用法

int()函数可以将一个带有数字的字符串转换为整型。比如:

age = int('18')

上述代码将字符串'18'转换为整型,并将其赋值给变量age。

此外,int()函数还可以将其他数据类型转换为整型,比如浮点数:

num = int(3.14)

上述代码将浮点数3.14转换为整型,并将其赋值给变量num。

二、进制转换

int()函数可以将其他进制的数转换为十进制数。例如,将二进制数1101转换为十进制数:

num = int('1101', 2)
print(num) # 输出:13

其中,第二个参数2表示要将字符串'1101'视为二进制数进行转换。

同样地,将十六进制数0x1A转换为十进制数:

num = int('1A', 16)
print(num) # 输出:26

其中,第二个参数16表示要将字符串'1A'视为十六进制数进行转换。

三、异常处理

int()函数在转换时,如果遇到不能转换的数据类型,将会抛出异常。因此,我们可以利用该特性进行异常处理。

例如,我们可以编写一个函数,将字符串转换为整型,如果失败则返回0:

def str_to_int(s):
    try:
        return int(s)
    except:
        return 0

上述代码中,我们使用了try-except语句,如果在转换时遇到异常,就返回0。

四、其他用法

除了以上几种常用的用法,int()函数还有其他一些用法,例如:

1、将布尔值True转换为整型1,将False转换为整型0:

print(int(True))  # 输出:1
print(int(False)) # 输出:0

2、将可迭代对象转换为整型。如果可迭代对象中含有非数字元素,将会抛出异常:

print(int([1, 2, 3])) # 输出:123
print(int([1, 2, 'a'])) # 抛出异常

附:Python内置函数int()高级用法

int()函数可以把实数类型转换为整数,并且是向下取整,也就是在数轴上向左取整,简单粗暴,有代码为证:

>>> int(3.6)
3
>>> int(3.4)
3

另外,int()还可以把字符串按照指定的进制转换为整数,如果不指定进制的话默认按十进制为准,除非第一个参数字符串隐含了进制并且指定第二个参数为0,例如:

>>> int('3333')
3333
>>> int('3333', 0)
3333
>>> int('0o333', 0)
219

>>> int('0x3333', 0)
13107

那么int()函数的第二个参数除了0还有啥?让Python内置函数help()来告诉我们(学Python必备技能,节选):

>>> help(int)
Help on class int in module builtins:

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()函数的第二个参数可以是0或者2-36之间的数字(如果第一个参数字符串隐含了进制的话,要统一起来),例如:

>>> int('1111', 2)
15
>>> int('1111', 3)
40
>>> int('1111', 8)
585
>>> int('1111', 27)
20440

这样的东西有啥用呢?让我们来讲一个故事:阿凡提与国王比赛下棋,国王说要是自己输了的话阿凡提想要什么他都可以拿得出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?当然,这个问题用列表推导式或者生成器表达式很容易计算。但是,用int()函数计算或许是最快的。

>>> int('1'*64, 2)
18446744073709551615

总结

本文对Python中int()函数的用法进行了详细的阐述。除了基本的将字符串和浮点数转换为整型之外,我们还介绍了如何进行进制转换、异常处理等高级用法。掌握这些用法可以让我们在编写Python程序时更加灵活、高效。

到此这篇关于Python内置函数int()用法简单介绍的文章就介绍到这了,更多相关Python中int()用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文