Python-字符串format方法指定参数
一、字符串的format方法有几种指定参数的方式:
(1)按照位置传参(默认方式),传入的参数与{}一一对应
(2)关键字传参,关键字(keyword)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系。
(3)位置传参与关键字传参混合使用。
二、详细描述字符串的format方法如何格式化字符串:
第一种方法:
s1 = 'Today is {},the temperature is {} degrees.'
print(s1.format('Saturday',24))
第二种方法:
s2 = 'Today is {day},the temperature is {degree} degrees.'
print(s2.format(degree = 30,day = 'Saturday'))
第三种方法:
s4 = Today is {week},{1},the {0} temperature is {degree} degree.'
print(s4.format('abds',1234,degree = 45,week = 'Sunday'))
拓展—如果是对象呢:
class Person:
def __init__(self):
self.age = 12
self.name - 'Bill'
person = Person() s5 = "My name is {p.name},my age is {p.age}."
print(s5.format(p = person))
问题:如果format的字符串中含有正则表达式时,比如str = """select regexp_replace('test20230301','[0-9]{8}|[0-9]{6}','') from ads_project_table_relation where ds = {0} """ 在使用format函数指定参数就会报错:IndexError: tuple index out of range 。
原因分析:正则表达式中匹配长度{8} 和 {6},在调用format方法时和需要传参的{0}冲突。
解决办法:将不是传参部分的{和},使用{{和}}进行替换。
即:str = """select regexp_replace('test20230301','[0-9]{{8}}|[0-9]{{6}}','') from ads_project_table_relation where ds = {0} """
Python-字符串format方法指定参数的更多相关文章
- #python str.format 方法被用于字符串的格式化输出。
#python str.format 方法被用于字符串的格式化输出. #''.format() print('{0}+{1}={2}'.format(1,2,3)) #1+2=3 可见字符串中大括号内 ...
- Python里format()方法基本使用
'''第一种:自然连接''' #format 连接字符串 str = '{}使用的python是{}版本'.format('我','3.6.5') print(str) #打印结果:我使用的pytho ...
- 7. python 字符串格式化方法(2)
7. python 字符串格式化方法(2) 紧接着上一章节,这一章节我们聊聊怎样添加具体格式化 就是指定替换字段的大小.对齐方式和特定的类型编码,结构如下: {fieldname!conversion ...
- 字符串format()方法的基本使用
<模板字符串>.format(<逗号分隔的参数>) 其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果.槽用大括号({})表示,对应format() ...
- 7. python 字符串格式化方法(1)
7. python 字符串格式化方法(1) 承接上一章节,我们这一节来说说字符串格式化的另一种方法,就是调用format() >>> template='{0},{1} and {2 ...
- python字符串replace()方法
python字符串replace()方法 >>> help(str.replace)Help on method_descriptor:replace(...) S.repla ...
- python字符串的方法
python字符串的方法 ############7个基本方法############ 1:join def join(self, ab=None, pq=None, rs=None): # real ...
- python字符串格式化方法 format函数的使用
python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序 ...
- python中format()方法格式化字符串
format()是python2.6新增的一个格式化字符串的方法,功能非常强大,有可能在未来完全替代%格式化方法,相比 % ,format()的优点有: 1 .格式化时不用关心数据类型的问题,form ...
- Python字符串解析方法汇总
Python字符串方法解析 1.capitalize 将首字母大写,其余的变成小写 print('text'.capitalize()) print('tExt'.capitalize()) 结果: ...
随机推荐
- uni-app打包到安卓步骤
1.打包到安卓 https://www.bilibili.com/video/BV1BJ411W7pX?p=56 2.打包到IOS https://www.jianshu.com/p/ef6e6e01 ...
- vue表单修饰符
- jvisualm 结合 visualGC 进行jvm监控,并分析垃圾回收
本文为博主原创,未经允许不得转载 1.jvisualm 的使用 打开 jdk 安装目录bin目录下的 jvisualvm.exe 工具 2. visual GC插件的安装及监控分析 Visual GC ...
- mybatis 源码学习
本文为博主原创,未经允许不得转载:
- Memory Bist
SRAMC主要是对SRAM进行控制 对于SRAM的逻辑,根据地址将数据存储到SRAM中,然后根据地址将SRAM中的数据读取出来 如何测试Memory,生产工艺原因造成的问题,采用DFT或者Bist测试 ...
- [转帖]Innodb存储引擎-idb文件格式解析
文章目录 ibd 文件格式解析 idb文件 page类型和格式(File Header & Trailer) FIL_PAGE_TYPE_FSP_HDR 格式 Extent Descripto ...
- [转帖]iptables 执行清除命令 iptables -F 要非常小心的
使用 /sbin/iptables -F 要小心,搞不好,你就马上同服务器断开连接了 以下是来自 http://wiki.ubuntu.org.cn/IptablesHowTo 上的说明 可以通过/s ...
- [百度贴吧]部分CPU的SPEC2006int 结果
这些测试成绩基本上是本人自己测试的结果.下表中有来自spec官网的两个成绩,因为测试年份较早,系统环境和编译器都较老,测试成绩本人实测的还差,所以仅作为参考.部分测试启用了自动并行和附加的优化库,是为 ...
- React Hooks 指北
前言 这篇文章旨在总结 React Hooks 的使用技巧以及在使用过程中需要注意的问题,其中会附加一些问题产生的原因以及解决方式.但是请注意,文章中所给出的解决方式并不一定完全适用,解决问题的方案有 ...
- 【团队效率提升】Python-PyWebIO介绍
作者:京东零售 关键 Q&A快速了解PyWebIO Q:首先,什么是PyWebIO? A:PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写 Web 应用, 不 ...