Python中的int函数使用
作者:TCatTime 发布时间:2023-05-13 06:11:59
描述
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
来源:https://blog.csdn.net/TCatTime/article/details/82826824


猜你喜欢
- 一、安装python基础环境:centos7.6安装:下载python:https://www.python.org/ftp/python/
- 本文记录了mysql 5.7.21 安装配置方法,分享给大家。1.下载安装包下面是官网windows系统的mysql下载地址Mysql下载地
- 简介Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的。2007年由4名Goo
- 1.Null数据的处理 1)检索出null值  
- 前言今天跟大家介绍一个开源项目:id-maker,主要功能是用来在分布式环境下生成唯一 ID。上周停更了一周,也是用来开发和测试这个项目的相
- 一.入参解析库 argparse有时候写Python脚本,需要处理入参[-h][-v][-F]...等情况,如果自己来解析的话,会花费很多时
- 前言上一篇博文我们讲到了节流函数的应用场景,我们知道了节流函数可以用在模糊查询、scroller、onresize等场景;今天这篇我们来讲防
- 最新MySql8.27主从复制以及SpringBoot项目中的读写分离实战1、MySql主从复制MySQL主从复制是一个异步的复制过程,底层
- MatplotlibMatplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplo
- 本文介绍了layer弹出子iframe层父子页面传值的实现方法,分享给大家,具体如下:父页面获取子页面元素格式:$("#ifram
- 在MySQL的管理过程中,会遇到PC Server脱机或者重启,我需要在主机启动后再将MySQL服务启动。如果上百台或者更多的MySQL主机
- 进程的概念程序是没有运行的代码,静态的;进程是运行起来的程序,进程是一个程序运行起来之后和资源的总称;程序只有一个,但同一份程序可以有多个进
- 对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP
- 在Numpy中NaN值一般出现在数据清洗前,出现这个值说明这个数据是缺失的在有些时候我们会选择直接删除这些数据,但有些时候这些数据是不能删除
- 训练用PyTorch编写的LSTM或RNN时,在loss.backward()上报错:RuntimeError: Trying to bac
- 在我的文章系统中,打算使用FCKeditor作为在线文本编辑器,在开发过程中,有几个地方需要对编辑器 进行修改,才能满足功能设计。 一、修改
- 概述先来介绍一下xml格式的文件,从数据分析的角度去看xml格式的数据集,具有以下的优点开放性(能在任何平台上读取和处理数据,允许通过一些网
- 通过两种不同的方法实现用js来对checkbox进行全选和反选: 方法一: 1:js实现checkbox的 全选 功能: function
- 生活中,我们在登录微博,邮箱的时候,常常会碰到验证码。在工作时,如果想要爬取一些数据,也会碰到验证码的阻碍。本次试验将带领大家认识验证码的一
- 遇到的问题:在pytorch训练过程中突然out of memory。解决方法:1. 测试的时候爆显存有可能是忘记设置no_grad加入 w