首页 > 编程语言 >python 格式化xml字符串

python 格式化xml字符串

时间:2022-10-27 13:32:02浏览次数:41  
标签:xml 十六进制 格式化 format python 对象 字符串


  【前言】本文主要介绍python中的字符串格式化,通过基本概念,使用方法及例子学习python字符串格式化的两种主要形式:字符串格式化表达以及字符串格式化方法调用。

  字符串格式化允许在一个单个的步骤中对一个字符串执行多个特定类型的替换,特别是给用户提示的时候,格式化非常方便。如今的python中的字符串格式化可以以两种形式实现:

  字符串格式化表达式

  基于C语言的“printf”模型,并且在大多数的代码中使用。在表达式中,我们使用%二进制操作符对字符串进行格式化,%操作符为编写多字符串提供了一种简洁的方法。

  字符串格式化方法调用

  这是python 2.6和python 3.0新增的一种格式化字符串的方法str.format(),通过{}和字符串对象的format方法代替字符串格式化表达式%

  格式化字符串表达式的定义如下:

  1. 在%操作符的左侧放置一个需要进行格式化的字符串,这个字符串带有一个或多个嵌入的转换目标,都以%开头(e.g., %d).

  2. 在%d操作符右侧放置一个(或多个,嵌入到元组中)对象,这些对象将会插入到左侧想让python进行格式化字符串的一个(或多个)转换目标的位置上去。

  注意到上述例子在字符串插入三个值,类型分别为:整数, 浮点数对象, 列表对象。但是所有目标左侧都是 ‘%s’, 这就表示把它们转换为字符串。由于对象的每个类别都可以转换为字符串(打印时使用),每一个与’%s’一同参与操作的对象类型都可以转换代码。因此,除非需要做特殊的格式化,一般用’%s’就可以格式化表达式。

  转换目标的通用结构:

  python字符串格式化符号:

  符 号

  描述

  %c

  格式化字符及其ASCII码

  %s

  格式化字符串(或任何对象)

  %d

  格式化整数(十进制)

  %u

  格式化无符号整型

  %o

  格式化无符号八进制数

  %x

  格式化无符号十六进制数

  %X

  格式化无符号十六进制数(大写)

  %f

  格式化浮点数字,可指定小数点后的精度

  %e

  用科学计数法格式化浮点数

  %E

  作用同%e,用科学计数法格式化浮点数(大写E)

  %g

  根据值的大小决定使用%f活%e

  %G

  作用同%g,根据值的大小决定使用%f活%e

  %p

  用十六进制数格式化变量的地址

  格式化操作符辅助指令:

  符号

  功能

  *

  定义宽度或者小数点精度

  -

  用做左对齐

  +

  在正数前面显示加号( + )

  sp

  在正数前面显示空格

  #

  在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)

  0

  显示的数字前面填充’0’而不是默认的空格

  %

  ‘%%’输出一个单一的’%’

  (var)

  映射变量(字典参数)

  m.n.

  m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

  例子:你可以在格式化字符串中用一个*来指定通过计算得出width和precision,从而迫使它们的值从%运算符右边的输出中的下一项获取,在这里,元组中的4指定为precision:

  基于字典的字符串格式化

  字符串中的格式化同时也允许左边的转换目标来引用右边字典中的键来提取对应的值:

  上例中,格式化字符串里(n)和(x)引用了右边字典中的键,并提取它们对应的值。生成类似HTML或XML的程序往往利用了这一技术:你可以建立一个数值字典,并利用一个基于键的引用的格式化表达式一次性替代它们:

  python中三引号可以将复杂的字符串进行复制, python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

  python 2.6和python 3.0(及其以后的版本)中的新的字符串对象的format方法使用主体字符串作为模板,并且接受任意多个表示将要根据模板替换的值的参数。在主体字符串中,花括号{}通过位置(e.g., {1})或关键字(e.g., {food})指出替换目标及将要插入的参数。

  通过位置

  字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。

  通过关键字参数

  通过对象属性

  通过下标

  基本的Python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。

  格式限定符

  它有着丰富的的“格式限定符”(语法是{}中带:号),比如――

  填充与对齐

  填充常跟对齐一起使用

  ^、分别是居中、左对齐、右对齐,后面带宽度

  :号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

  比如

  精度与类型f

  精度常跟类型f一起使用

  其中.2表示长度为2的精度,f表示float类型。

  其他类型

  主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

  用‘,’号还能用来做金额的千位分隔符。

  [1] 爱做梦的鱼. Python中的字符串处理

 [2] mattkang. 飘逸的python - 增强的格式化字符串format函数

标签:xml,十六进制,格式化,format,python,对象,字符串
From: https://blog.51cto.com/yetaotao/5800915

相关文章

  • python9-eg
    实例01(模拟幼儿园分苹果)1defdevition():2'''功能:分苹果'''3print("\n=================分苹果了===============\n")4apple=int(input("请输入......
  • python脚本编写流程
    自己实现了一个自动打卡的脚本文件,记录一下过程编写脚本流程1.编写脚本2.将脚本设置为定时启动其实自己用的话,就是这两步,但是我后面多做了两件事3.电脑设置定时提醒......
  • 【JSON】Python读取JSON文件报错json.decoder.JSONDecodeError的问题
    报错json.decoder.JSONDecodeError:Expectingpropertynameenclosedindoublequotes:line*column*(char*)解决百度到了多种情况:编码使用UTF-8键值用双引......
  • 直方图均衡化-python实现
    """@author:LiShiHang@software:PyCharm@file:5.1.直方图均衡化.py@time:2018/12/2416:02@desc:"""importcv2#仅用于读取图像矩阵importmatplotlib.pyplotasplt......
  • python遇到 Segmentation fault (core dumped) 错误
    问题描述在linux服务器上运行代码遇到这个错误。解决方案重置了python的env环境。由于python包互相依赖,单独升级某个包未能解决问题,遂决定重新create虚拟环境。命令如下:cond......
  • python if中的false(哪些视为False)
    标题不太合适,即表示if判断为假的情况,具体如下。在Python中所有的对象都可以进行真值测试,下面罗列一下判断为假的情况:NoneFalse数值中的零,包括0,0.0,0j(虚数)空序列,包括空字符串......
  • python决策树(二叉树、树)的可视化
    问题描述在我学习​​机器学习实战-决策树​​部分,欲可视化决策树结构。最终可视化结果:解决方案决策树由嵌套字典组成,如:{“nosurfacing”:{0:“no”,1:{“flippers”:......
  • opencv-contrib-python的安装:Set OPENCV_ENABLE_NONFREE CMake option and rebuild th
    问题描述前往本页,可查看opencv-python和opencv-contrib-python的区别。​​https://docs.opencv.org/master/​​比如,SIFT就需要用到opencv-contrib-python包中的cv2.xfeat......
  • python实验报告(面向对象程序设计)
    实验报告实例01:通过类属性统计类的实例个数  结果:实例02:根据身高、体重计算BMI指数(共享版)  结果:   实例03:在模拟电影点播功能时应用属性  结果:......
  • Java字符串拼接的优雅方式 格式化:String.format(“我是%s小学的学生,我喜欢%s”,"阳光"
    Java字符串拼接的优雅方式格式化:String.format(“我是%s小学的学生,我喜欢%s”,"阳光","太阳");MessageFormat.format("hello,{0}.Iam{1}.",arg0,arg1)数组拼接:Str......