Python字符串格式化常用手段及注意事项

格式化方式1: 使用f""

使用示例

# -*- coding: utf-8 -*-
# @Time  : 2020/4/22 22:35
# @Author : chinablue
# 替换变量
name = "chinablue"
# 格式化字符串
res_str = f"hello {name}"
print(res_str)

注意事项

  • %和format也是python常用的格式化字符串方式;
  • 如果字符串中需要显示{},则通过{{}}来转义.

格式化方式2: 使用string.Template

使用示例

# -*- coding: utf-8 -*-
# @Time  : 2020/4/22 22:35
# @Author : chinablue
import string
# 字典中的key为变量
d = {
  "name" : "chinablue"
}
# 替换字符串可以写成 $name 或 ${name}; 默认的定界符为$
s = string.Template("hello ${name}")
# 执行字符串替换,
res_str = s.substitute(d)
print(res_str)

注意事项

  • 占位符如果写成${}时,变量和括号之间不能有空格;
  • string.substitute()中的参数,如果字符串中未提供占位符,会抛出KeyError异常;
  • string.substitute()中的参数可以是字典或关键字参数. 如果关键字参数和字典中的key重复了,关键字参数的取值优先;
  • string.safe_substitute()中的参数,如果字符串中未提供占位符,不会抛异常;
  • 通过继承string.Template类,并覆盖delimiter变量和idpattern变量.可以自定义字符串模板.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 浅析python3字符串格式化format()函数的简单用法

     format()函数 """ 测试 format()函数 """ def testFormat(): # format()函数中有几个元素,前面格式化的字符串中就要有几个 '{}' # 位置 s1 = 'a{}b{}c{}d{}'.format(1, 2, 3, 4) # 索引,format()函数中的元素,从0开始 s2 = 'a{0}b{1}c{3}d{2}'.format(1, 2, 3, 4) # 索引可以重复使用 s3 = 'a{0}

  • Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)

    Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块. 关于时间戳的几个概念 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量. 时间元组(struct_time),包含9个元素. time.struct_time(tm_year=2017, tm_mon=10, tm_mday=1, tm_hour=14, tm_min=21, tm_sec=57, tm_wday=6, tm_yday=274, tm_isdst=0) 时间格式字

  • Python格式化输出字符串方法小结【%与format】

    python格式化字符串有%和{}两种 字符串格式控制符. 字符串输入数据格式类型(%格式操作符号) %% 百分号标记#就是输出一个% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) %x 无符号整数(十六进制) %X 无符号整数(十六进制大写字符) %e 浮点数字(科学计数法) %E 浮点数字(科学计数法,用E代替e) %f 浮点数字(用小数点符号) %g 浮点数字(根据值的大小采用%e或%f) %G 浮点数字(类似

  • 使用Python将字符串转换为格式化的日期时间字符串

    我正在尝试将字符串"20091229050936"转换为"2009年12月29日(UTC)" >>>import time >>>s = time.strptime("20091229050936", "%Y%m%d%H%M%S") >>>print s.strftime('%H:%M %d %B %Y (UTC)') 给 AttributeError: 'time.str

  • python字符串格式化方式解析

    1.%格式符 name = '李四' age = 18 a = "姓名:%s,年龄:%s"%(name,age) print(a) #姓名:李四,年龄:18 ​ b = "%(name)s,%(age)s"%{'name':'张三','age':18} print(b) #张三,18 这种格式化并不是很好,因为它很冗长并且容易导致错误,比如没有正确显示元组或字典 2.str.format() name = '李四' age = 18 # 替换字段用大括号进行标记 a

  • python3格式化字符串 f-string的高级用法(推荐)

    f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便. f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段:f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While ot

  • Python格式化字符串f-string概览(小结)

    简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便.f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段:f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While

  • python2与python3的print及字符串格式化小结

    最近一直在用python写程序,对于python的print一直很恼火,老是不按照预期输出.在python2中print是一种输出语句,和if语句,while语句一样的东西,在python3中为了填补python2的各种坑,将print变为函数,因此导致python3中print的一些使用和python2很不一样.同时,python3大改python2中的字符串格式化,主推format()函数格式,用法很是灵活,让老用户一时摸不着头脑.今天特来总结一样print和format,也希望能帮助大家彻

  • Python字符串格式化常用手段及注意事项

    格式化方式1: 使用f"" 使用示例 # -*- coding: utf-8 -*- # @Time : 2020/4/22 22:35 # @Author : chinablue # 替换变量 name = "chinablue" # 格式化字符串 res_str = f"hello {name}" print(res_str) 注意事项 %和format也是python常用的格式化字符串方式; 如果字符串中需要显示{},则通过{{}}来转义.

  • python字符串格式化(%格式符和format方式)

    目录 %格式符 format方式 总结 Python的字符串格式化有两种方式:%格式符方式,format方式 %格式符 %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key flags          可选,可供选择的值有: +       右对齐:正数前加正好,负数前加负号: -        左对齐:正数前无符号,负数前加负号: 空格    右对齐:正数前加空格,负数前加负号: 0        右对齐:

  • Python字符串格式化方式

    目录 什么是格式化? 使用格式化的场景和目的 格式化的三种方式 根据类型定义的格式化 - %s 关于整数的输出 关于浮点数的输出 关于字符串的输出 字符串格式化函数 - format() format()函数 - 指定数据类型输出 format()函数 - 位数补齐 format()函数 - 拓展 新格式化方法 :f-strings 什么是格式化? 定义:一个固定字符串中有部分成员(元素)会根据变量的值的改变而改变的字符串,这就是字符串格式化. 举一个生活中的小栗子:比如我们的书包,我们的书包是

  • 浅谈Python 字符串格式化输出(format/printf)

    Python 字符串格式化使用 "字符 %格式1 %格式2 字符"%(变量1,变量2),%格式表示接受变量的类型.简单的使用例子如下: # 例:字符串格式化 Name = '17jo'   print 'www.%s.com'%Name   >> www.17jo.com Name = '17jo' Zone = 'com' print 'www.%s.%s'%(Name,Zone) >> www.17jo.com 字符串格式化时百分号后面有不同的格式符号,代表

  • Python字符串格式化输出方法分析

    本文实例分析了Python字符串格式化输出方法.分享给大家供大家参考,具体如下: 我们格式化构建字符串可以有3种方法: 1 元组占位符 m = 'python' astr = 'i love %s' % m print astr 2 字符串的format方法 m = 'python' astr = "i love {python}".format(python=m) print astr 3 字典格式化字符串 m = 'python' astr = "i love %(pyt

  • Python字符串格式化的方法(两种)

    本文介绍了Python字符串格式化,主要有两种方法,分享给大家,具体如下 用于字符串的拼接,性能更优. 字符串格式化有两种方式:百分号方式.format方式. 百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存. 1.百分号方式 格式:%[(name)][flags][width].[precision]typecode (name)    可选,用于选择指定的key flags        可选,可供选择的值有: + 右对齐:正数的加正号,负数的加负号 - 左

  • Python字符串格式化%s%d%f详解

    关于讨论输出格式化的问题,小编不是一时兴起,之前学习python的时候就经常遇到输出时"%d",一直没有仔细学习,今天又看到了,下面分享一个简单实例,python输出99乘法表: #!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j), 结果: 1*1=1 2*1=2 2*

  • Python字符串格式化输出代码实例

    这篇文章主要介绍了Python字符串格式化输出代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用占位符%s name = '小飞' print('姓名是: %s' % name) format()函数 格式:"{} {}".format(value,value) 示例: name = 'Tom' age = 7 hobby = '玩滑滑梯!' money = 8.5 message= '{}今年{}岁,最喜欢{},有零花钱:

  • python 字符串格式化的示例

    一.旧式的字符串格式化 % 操作符 参考以下示例: >>> name = "Eric" >>> "Hello, %s." % name 'Hello, Eric.' 当有多个变量需要插入到字符串中时: >>> name = "Eric" >>> age = 74 >>> "Hello, %s. You are %s." % (name,

  • python字符串格式化函数

    目录 ​1.​格式化字符串输出​ 2.​三引号 ​3.Unicode​ 4.字符串字母处理函数(补充) 知识点:格式化.三引号.Unicode.字符串字母处理函数 ​1.​格式化字符串输出​ 编号 运算符类型 说明 1 [ : ] 截取字符串 2 in 成员运算符,可查找字符串是否包含某字符串或字符串,返回false和true 3 not in 成员运算符,同上,相反 ,格式:print("hello %s %s ..." % ('值1','值2','...')) 2.​三引号 编号

随机推荐