python的数字与字符串相互转换
时间:2022-07-22
本文章向大家介绍python的数字与字符串相互转换,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
字符串转数字
经常在处理文本时,比如memory初始化文件,或者解析log中的数据做运算时,会用到字符串转数字。
最常用的就是int(str, base=10)
,默认是处理十进制字符串,比如:
s = '10'
n = int(s)
print(type(n)) # <class 'int'>
print(n) # 10
那其它进制呢?
# 二进制
print(int('10', 2)) # 2
# 十六进制
print(int('a', 16)) # 10
# 前缀和大小写不重要
print(int('0xa', 16)) # 10
print(int('0Xa', 16)) # 10
print(int('0XA', 16)) # 10
带小数的字符串转数字的方法:
print(float('12.101')) # 12.101
数字转字符串
这个可以简单理解成格式化输出,用字符串的format函数就行了。在python的数据类型(三):字符串中已经有过format
函数的介绍。我们再举一些例子:
print("{:b}".format(10)) # 1011
print("{:#b}".format(10)) # 0b1011
print("{:x}".format(10)) # a
print("{:#x}".format(10)) # 0xa
# 十六进制的大写形式(二进制没有大写的说法)
print("{:X}".format(10)) # A
print("{:#X}".format(10)) # 0XA
前面补0的方法:
print("{:0>4x}".format(10)) # 000a
# 同时补0和加0x
print("0x{:0>4x}".format(10)) # 0x000a
format格式定义详见: https://docs.python.org/3/library/string.html#formatspec
小数格式化成字符串的方法:
print("{:f}".format(12.101)) # 12.101000
print("{:.2f}".format(12.101)) # 小数点后保存两位
关于同时加0x和补0的坑
当按照官方文档,同时使用#和宽度时,实际出来的结果跟想像的不一样,如下:
>>> print("{:0>#8x}".format(10))
000000xa
>>> print("{:0>+#08x}".format(10))
0000+0xa
实际是先加0x,再对整体补0。
但是python提供了=
代替>
来应对这种异常。
'=' Forces the padding to be placed after the sign (if any) but before the digits. This is used for printing fields in the form ‘+000000120’. This alignment option is only valid for numeric types. It becomes the default when ‘0’ immediately precedes the field width.
所以,解决办法是:
print("{:0=#8x}".format(10)) #0x00000a
但有没有发现少了两个0?各位在使用时要留意,以免掉坑里。
- 我是如何巧妙渗入安全脉搏的(附官方还原详情)
- vscode编写插件详细过程
- zabbix最新SQL注入漏洞+EXP
- 本地密码检索工具 – LaZagne Project
- 我是如何在SQLServer中处理每天四亿三千万记录的
- 程序猿是如何解决SQLServer占CPU100%的
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
- 分享一个自制的 .net线程池1
- 分享一个自制的 .net线程池2
- 基于百度翻译的简单爬虫翻译-- coding:utf-8 --访问网址模拟浏览器创建文件夹用一个text文件保存,文件名用单词名字
- .net采集网页方法大全(5种)
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 中文分词之结巴分词~~~附使用场景+demo(net)
- 用微信二维码登录自己的网站
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android实现网易严选标签栏滑动效果
- Android socket实现原理详解 服务端和客户端如何搭建
- Android使用ViewFlipper实现图片切换功能
- Android 图片显示与屏幕适配的问题
- Android实现截图和分享功能的代码
- Android 自定义相机及分析源码
- Android实现微博菜单弹出效果
- Android开发之拖动条和评分组件用法分析
- Android使用AsyncQueryHandler实现获取手机联系人功能
- Android用过TextView实现跑马灯效果的示例
- android如何设置Activity背景色为透明色
- Android 手机防止休眠的两种实现方法
- Android编程实现的首页左右滑动切换功能示例
- 零基础学小程序004----小程序post请求,提交数据到服务器,小程序下单,小程序用户注册功能
- HorizontalScrollView水平滚动控件使用方法详解