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

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变量.可以自定义字符串模板.

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

时间: 2020-06-15

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

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

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) 时间格式字

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

我正在尝试将字符串"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

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}

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

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

在js开发中,我们可能会遇到这样一个问题 当需要通过js动态插入html标签的时候 特别是当遇到大量的变量拼接.引号层层嵌套的情况,会出现转义字符问题,经常出错 我们来看个例子

关于Python的格式化字符串,几乎所有接触过Python语言的人都知道其中一种,即使用运算符%,但对于绝大多数初学者来说也仅此而已. 因此,本文将先总结如何通过%运算符来格式化字符串,同时指出这种方式的缺点,然后带你了解Python中另外三种强大的格式化字符串的方式:str.format().f-string以及模板字符串,并给出在何时选择何种方式的建议. 一.%运算符格式化字符串 1. 如何使用 字符串对象都有一个使用%运算符完成的內置操作,可被用来格式化字符串.最简单的如: In [11]

老办法 Python2.6之前,格式字符串的使用方法相对更简单些,虽然其能够接收的参数数量有限制.这些方法在Python3.3中仍然有效,但已有含蓄的警告称将完全淘汰这些方法,目前还没有明确的时间进度表. 格式化浮点数: pi = 3.14159 print(" pi = %1.2f ", % pi) 多个替换值: s1 = "cats" s2 = "dogs" s3 = " %s and %s living together"

Python2.6+ 增加了str.format函数,用来代替原有的'%'操作符.它使用比'%'更加直观.灵活.下面详细介绍一下它的使用方法. 下面是使用'%'的例子: "" "PI is %f..." % 3.14159 # => 'PI is 3.141590...' "%d + %d = %d" % (5, 6, 5+6) # => '5 + 6 = 11' "The usage of %(language)s&quo

本文实例讲述了Python常见格式化字符串方法.分享给大家供大家参考,具体如下: [方式一]百分号(%)方式,类C的printf,需要分别不同类型. 1.匿名tuple.(推荐在参数少时用) >>> '姓名:%s, 年龄:%d' % ('walker', 99) '姓名:walker, 年龄:99' 2.命名dict,字典的key可以重用. >>> '姓名:%(name)s, 年龄:%(age)d, 工龄:%(age)d' % {'name':'walker', 'ag

本文实例讲述了Python实现字符串格式化输出的方法.分享给大家供大家参考,具体如下: python属于强类型的语言,如果像java一样操作字符串和数字的"+"时,会出现TypeError.而python的格式化方法有多种,比如使用占位符,使用format,或者是自定义模版等等.这里介绍了其中的几种方法 下面这个例子很好的说明了python属于强类型语言: print "abc" + 123 Traceback (most recent call last): Fi

你可能感兴趣的:(python常用字符串格式化)