一、字符串的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方法指定参数的更多相关文章

  1. #python str.format 方法被用于字符串的格式化输出。

    #python str.format 方法被用于字符串的格式化输出. #''.format() print('{0}+{1}={2}'.format(1,2,3)) #1+2=3 可见字符串中大括号内 ...

  2. Python里format()方法基本使用

    '''第一种:自然连接''' #format 连接字符串 str = '{}使用的python是{}版本'.format('我','3.6.5') print(str) #打印结果:我使用的pytho ...

  3. 7. python 字符串格式化方法(2)

    7. python 字符串格式化方法(2) 紧接着上一章节,这一章节我们聊聊怎样添加具体格式化 就是指定替换字段的大小.对齐方式和特定的类型编码,结构如下: {fieldname!conversion ...

  4. 字符串format()方法的基本使用

    <模板字符串>.format(<逗号分隔的参数>) 其中,模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果.槽用大括号({})表示,对应format() ...

  5. 7. python 字符串格式化方法(1)

    7. python 字符串格式化方法(1) 承接上一章节,我们这一节来说说字符串格式化的另一种方法,就是调用format() >>> template='{0},{1} and {2 ...

  6. python字符串replace()方法

    python字符串replace()方法 >>> help(str.replace)Help on method_descriptor:replace(...)    S.repla ...

  7. python字符串的方法

    python字符串的方法 ############7个基本方法############ 1:join def join(self, ab=None, pq=None, rs=None): # real ...

  8. python字符串格式化方法 format函数的使用

      python从2.6开始支持format,新的更加容易读懂的字符串格式化方法, 从原来的% 模式变成新的可读性更强的 花括号声明{}.用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序 ...

  9. python中format()方法格式化字符串

    format()是python2.6新增的一个格式化字符串的方法,功能非常强大,有可能在未来完全替代%格式化方法,相比 % ,format()的优点有: 1 .格式化时不用关心数据类型的问题,form ...

  10. Python字符串解析方法汇总

    Python字符串方法解析 1.capitalize 将首字母大写,其余的变成小写 print('text'.capitalize()) print('tExt'.capitalize()) 结果: ...

随机推荐

  1. shell脚本(7)-shell运算

    文档目录: 一.算数运算符 二.关系运算符 三.布尔运算符 四.逻辑运算符 五.字符串运算符 六.文件测试运算符 算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: ...

  2. PMP-干系人管理

    转载请注明出处: 1.分析干系人管理的两大工具 1.1.权力-利益方阵                          第一象限:严防死守(重点管理) 第二象限:投其所好(令其满意) 第三象限:保存 ...

  3. 通过 Feign 进行文件上传

    转载请注明出处: 项目为spring cloud 项目,项目中对各部分能力业务进行了拆分,将公共的服务能力放在一个模块当中,通过 Feign 的方式 进行调用,feign 调用的本质还是http内部通 ...

  4. Feign源码解析7:nacos loadbalancer不支持静态ip的负载均衡

    背景 在feign中,一般是通过eureka.nacos等获取服务实例,但有时候调用一些服务时,人家给的是ip或域名,我们这时候还能用Feign这一套吗? 可以的. 有两种方式,一种是直接指定url: ...

  5. SD Host控制器的系统集成

    控制器集成需求 SD Host可以从外部读取数据存储到SRAM和eFlash或者可以从内部读取数据输出到外部存储 AHB Bus slave接口用于配置 master接口作为主设备,DMA可以控制总线 ...

  6. 12-Verilog-同步FIFO设计

    同步FIFO和异步FIFO FIFO分为一个同步FIFO,一个异步FIFO,FIFO有读口和写口 读写时钟是一个,就是同步FIFO;读写时钟不是一个,异步FIFO IP核设计中,一般使用同步FIFO设 ...

  7. Go-并发-Go程和信道

  8. [转帖]nginx中rewrite和if的用法及配置

    nginx中rewrite和if的用法及配置 文章目录 nginx中rewrite和if的用法及配置 @[toc] 一.rewrite应用 1.rewrite跳转场景 2.rewrite实际场景 3. ...

  9. [转帖]Docker与k8s的恩怨情仇(四):云原生时代的闭源落幕

    https://zhuanlan.zhihu.com/p/388840887 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天我们继续来为大 ...

  10. [转帖]harbor-db restarting问题

    现象: 在安装harbor后,启动时发现harbor-db 一直是restarting,/harbor-jobservice,/harbor-core 这两是starting 状态,如下图 解决: 1 ...