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()) 结果: ...
随机推荐
- shell脚本(7)-shell运算
文档目录: 一.算数运算符 二.关系运算符 三.布尔运算符 四.逻辑运算符 五.字符串运算符 六.文件测试运算符 算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: ...
- PMP-干系人管理
转载请注明出处: 1.分析干系人管理的两大工具 1.1.权力-利益方阵 第一象限:严防死守(重点管理) 第二象限:投其所好(令其满意) 第三象限:保存 ...
- 通过 Feign 进行文件上传
转载请注明出处: 项目为spring cloud 项目,项目中对各部分能力业务进行了拆分,将公共的服务能力放在一个模块当中,通过 Feign 的方式 进行调用,feign 调用的本质还是http内部通 ...
- Feign源码解析7:nacos loadbalancer不支持静态ip的负载均衡
背景 在feign中,一般是通过eureka.nacos等获取服务实例,但有时候调用一些服务时,人家给的是ip或域名,我们这时候还能用Feign这一套吗? 可以的. 有两种方式,一种是直接指定url: ...
- SD Host控制器的系统集成
控制器集成需求 SD Host可以从外部读取数据存储到SRAM和eFlash或者可以从内部读取数据输出到外部存储 AHB Bus slave接口用于配置 master接口作为主设备,DMA可以控制总线 ...
- 12-Verilog-同步FIFO设计
同步FIFO和异步FIFO FIFO分为一个同步FIFO,一个异步FIFO,FIFO有读口和写口 读写时钟是一个,就是同步FIFO;读写时钟不是一个,异步FIFO IP核设计中,一般使用同步FIFO设 ...
- Go-并发-Go程和信道
- [转帖]nginx中rewrite和if的用法及配置
nginx中rewrite和if的用法及配置 文章目录 nginx中rewrite和if的用法及配置 @[toc] 一.rewrite应用 1.rewrite跳转场景 2.rewrite实际场景 3. ...
- [转帖]Docker与k8s的恩怨情仇(四):云原生时代的闭源落幕
https://zhuanlan.zhihu.com/p/388840887 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天我们继续来为大 ...
- [转帖]harbor-db restarting问题
现象: 在安装harbor后,启动时发现harbor-db 一直是restarting,/harbor-jobservice,/harbor-core 这两是starting 状态,如下图 解决: 1 ...