当前位置: 首页 > news >正文

Python中str的format()方法

字符串中的str.format()方法进行字符串格式化

1.1 返回一个新的字符串,str中的替换字段被格式化后输出

In [1]: "{0},{1}".format("hello","world")

Out[1]: 'hello,world'

In [2]: "{{0}},{1}".format("hello","world")

Out[2]: '{0},world'



In [3]: "{{{0}}},{1}".format("hello","world")

Out[3]: '{hello},world'

1.2 字符串和数字进行连接时,会出现TypeError异常,但是format()可以

In [4]: "{0},{1}".format("hello",12)

Out[4]: 'hello,12'

1.3 进行字符串连接。通常用join()方法

In [5]: s="{0},{1}"

In [6]: s=s.format("hello","python")

In [7]: s

Out[7]: 'hello,python'

使用字段名

1.4 关键字参数

In [8]: "{name},{age}".format(name="ling",age=12)

Out[8]: 'ling,12'

在参数列表中,关键字参数总是在位置参数之后

In [10]: "{name}:{0}".format(12,name="ling")

Out[10]: 'ling:12'

1.5 参数是list

In [11]: list1=[12,"name","age"]

In [12]: list2=[66,67,68]

In [13]: "{0[2]},{1[2]}".format(list1,list2)

Out[13]: 'age,68'

1.6 参数是dict

In [14]: dict={"name":"lingling","age":12}

In [15]: "{0[age]},{0[name]}".format(dict)

Out[15]: '12,lingling'

1.7 存取属性

In [16]: import math



In [17]: "{0.pi}".format(math)

Out[17]: '3.141592653589793'

总结:通过字段名语法,可以传递引用给str.format()方法的位置参数与关键字参数。如果参数是集合数据类型,例如列表或字典,或参数

还包含一些属性,那么可以使用[]或.表示法进行存取所需的部分

1.8  从Python3.1开始,忽略字段名成为可能,这种情况下,Python会自动进行处理(从0开始)

In [19]: "{},{},{}".format("name","age","sex")

Out[19]: 'name,age,sex'

1.9 通过locals函数【该函数会返回一个字典,字典的键是局部变量名,字典的值则是对变量名的引用。】映射拆分操作符为**,可应用

于映射来产生一个适合于传递函数的键值列表。

name = "lingling"

age = 12

str = "age is {age},name is {name}".format(**locals())

print(str)

# age is 12,name is lingling

将字典拆分并提供给str.format()方法时,允许使用字典的键作为字段名。这使得字符串格式化更易于理解,因为不需要依赖于参数的顺序。

但是,如果有其他参数,则映射拆分必须放最后面

d={"name":"lingling","age":12}

d1={"sex":0}

str="{0},{name},,{sex},{age}".format(1,**d,**d1)

print(str)

# 1,lingling,,0,12

 

通常不用多个字典,因为可以合并,如果d,d1中包含同样的key,那么就会报错。即使这个key不用。

相关文章:

  • 云计算促使IT体制健全
  • Win10 UWP再支持Facebook React Native开源框架
  • 谭浩强 c++程序设计第一章课后习题 第7题
  • 18位业界权威人士定义了18种云计算
  • 部署NFS过程
  • Centos6.8 使用rpm安装mysql5.7
  • 栅格那点儿事(一)---Raster是个啥子东西
  • 【命令2】
  • DropDownList联动
  • Ta还没有分享呢,过段时间再来看看吧~ 解决办法
  • 如何拿CSDN博客上的原图
  • Hibernate中@Embedded和@Embeddable注解
  • Spring MVC使用@RestController生成JSON示例
  • Tyrion中文文档(含示例源码)
  • 控制域名忘记续费,三星数百万台手机陷入“任人宰割”境地
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • codis proxy处理流程
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Java 内存分配及垃圾回收机制初探
  • JAVA多线程机制解析-volatilesynchronized
  • LeetCode29.两数相除 JavaScript
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Web Storage相关
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 如何使用 JavaScript 解析 URL
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 一个项目push到多个远程Git仓库
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​io --- 处理流的核心工具​
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #微信小程序:微信小程序常见的配置传值
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (42)STM32——LCD显示屏实验笔记
  • (5)STL算法之复制
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (ZT)薛涌:谈贫说富
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (二)换源+apt-get基础配置+搜狗拼音
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (一)基于IDEA的JAVA基础10
  • (转)甲方乙方——赵民谈找工作
  • ***测试-HTTP方法
  • .net 7 上传文件踩坑
  • .NET Reactor简单使用教程
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 设计模式初探
  • .net 中viewstate的原理和使用
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .NET轻量级ORM组件Dapper葵花宝典
  • /run/containerd/containerd.sock connect: connection refused
  • ?php echo ?,?php echo Hello world!;?
  • @RequestMapping 的作用是什么?
  • [《百万宝贝》观后]To be or not to be?