Python int函数作用是什么,怎样使用呢?

Admin 2022-12-12 群英技术资讯 343 次浏览

今天小编跟大家讲解下有关“Python int函数作用是什么,怎样使用呢?”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。

描述

int函数可以将一个指定进制的数字型字符串或者十进制数字转化为整形。

语法

int(object, base)
名称 说明 备注
object 一个数字或字符串参数

1. 数字参数可以是整数、浮点数(小数点表示和指数e表示皆可)

2. 字符串参数仅能包含在指定进制下所涵盖的字符

3. 该参数可省略

base 进制数

1. 该参数可省略,省略时默认为10

2. 正整型参数,表示object所对应的进制

举例

1. 浮点数转化为整型

test = [12.96, -34.21, 12.0e3]
 
for number in test:
    print(int(number))

输出结果为:

12
-34
12000

注意:无论浮点数的小数部分值是什么,使用int( )函数转化时,只会保留整数部分,而将小数部分舍去。因此在求浮点数的四舍五入之类的问题时,应该避免直接使用int函数。

2. 二进制数转化为十进制数

test = ['111011011111', '0b101']
 
for number in test:
    print(int(number, 2))

输出结果为:

3807
5

3. 八进制数转化为十进制数

test = ['-1537202', '0o147']
 
for number in test:
    print(int(number, 8))

输出结果为:

-441986
103

4. 将十六进制数转化为十进制数

test = ['34A', '0x17']
 
for number in test:
    print(int(number, 16))

输出结果为:

842
23

5. 布尔值转换为整数

Python里最简单的数据类型是布尔型,它只有两个可选值:True和False。当转换为整数时,它们分别代表1和0:

>>> int(True)
1
>>> int(False)
0

6. 将整数字符串转换为整数

可以将仅包含数字和正负号的字符串转换为整数。

>>> int('99')
99
>>> int('-23')
-23
>>> int('+12')
12

注意事项

1. 所有参数都省略时,返回整数0

test = int()
print(test, type(test))

输出结果为:

0 <class 'int'>

2. 试图将一个浮点数字符串转化为十进制整数时,会报错:

test = '23.1314'
print(int(test))

输出结果为:

Traceback (most recent call last):
  File "/Users/Test2.py", line 3, in <module>
    print(int(test))
ValueError: invalid literal for int() with base 10: '23.1314'

返回一个值报错:对于函数int,使用了无效的文字转化成十进制:23.1314.

正确的使用方法是,现将浮点数字符串转化为浮点数类型,再将浮点数类型转化为整数。

test = '23.1314' 
print(int(float(test)))

返回23.

注意:int()函数可以接受浮点数或由数字组成的字符串,但无法接受包含小数点或指数的字符串。

3.  base参数错误

Python会自动计算base参数的使用范围。若超出范围会报错:

test = '110' 
print(int(test, -2))

输出结果为:

Traceback (most recent call last):
  File "/Users/Test2.py", line 3, in <module>
    print(int(test, -2))
ValueError: int() base must be >= 2 and <= 36, or 0

根据object参数值,Python自动计算出base的合适区间。

4. 当object参数中存在非法字符时,Python报错

例如,在八进制数字字符中引入字符‘A’,或者十六进制字符中引入字符‘H’

test = '110S' 
print(int(test, 16))

输出结果为:

Traceback (most recent call last):
  File "/Users/Test2.py", line 3, in <module>
    print(int(test, 16))
ValueError: invalid literal for int() with base 16: '110S'

5.  二进制符号0b、八进制符号0o、十六进制符号0x加入数字字符串中对结果没有影响,且可以省略

test_0b = ['0b1011', '1011']
test_0o = ['0o735', '735']
test_0x = ['0xFA', 'FA']
 
for number in test_0b:
    print(int(number, 2))
 
for number in test_0o:
    print(int(number, 8))
 
for number in test_0x:
    print(int(number, 16))

输出结果为:

11
11
477
477
250
250

6. 将一个十进制数转化为十进制数,没有任何报错也不会有任何意义

>>> int(5)
5

也可以将一个十进制整数字符串转化为十进制(类型转化)

>>> int('23')
23

7. 自定义进制转化为十进制

int函数拥有强大的自定义进制转化为十进制功能。例如,将17进制数字字符转化为十进制数字:

test_17 = 'GG'
print(int(test_17, 17))

输出结果为:

288

8. 合法的数字字符字母不区分大小写

例如在十六进制中,A和a都可以转化成十进制数,且转化结果相同。

>>> int('a', 16)
10
>>> int('A', 16)
10

以上就是关于“Python int函数作用是什么,怎样使用呢?”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。如果想要了解更多知识,欢迎关注群英网络,小编每天都会为大家更新不同的知识。 群英智防CDN,智能加速解决方案
标签: int函数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服