Python基础教程(第3版)中文版 第三章 使用字符串(笔记)

简介: Python基础教程(第3版)中文版 第三章 使用字符串(笔记)

                        第3章 使用字符串

 

1.字符串基本操作

所有标准序列操作(索引、切片、成员资格检查、长度、最小值和最大值)都适用

#字符串不可变,因此不能对字符串元素赋值。

2.设置字符串的格式:精简版

(1)以前使用%设置字符串格式#类似与C的printf:

在%左边指定一个字符串,在右边指定要设置其格式的值(可以是单个值、元组、字典)。

例:

format = "hello, %s, %s enough for ya?"

values = ('world', 'hot')

format % values

结果输出

>>>'hello, world, hot enough for ya?'

其中 %s 是转换说明符,指出将值插入的地方。

s将值视为字符串进行格式设置。

(2)另一种方法是使用模版字符串。

from string import Template

tp = Template("Hello,$who!")

tp.substitute(who="GM")


!!!编写新代码时,应使用字符串方法 format

将替换字段用花括号{}扩起,({}中可能包含名称和格式设置的信息)

例子:"{}, {} and {}".format("first", "second", "third")

得到:'first, second and third'

"{3} {0} {2} {1} {3} {0}".format("be", "not", "or", "to")

得到:'to be or not to be'

"{name} is approxiamtely {value:.2f}.".format(value=pi, name = "π")

得到'π is approxiamtely 3.14.'

#.2f 是格式说明符,使用:与字段名隔开

表示两位小数的浮点数

# python3.6种,如果变量与替换字段同名,可以使用另一种简写:

使用f字符串 ----字符串前面加f

如:

from math import e

f"Euler's constant is roughly {e}."

#与"Euler's constant is roughly {e}.".format(e=e) 等价

3. 设置字符串的格式:完整版

基本方法是对字符串调用方法 format并提供要设置格式的值。

字符串包含有关如何设置格式的信息

每个值都被插入字符串中 替换{}扩起的替换字段。

#要在最终结果包含{}可使用双 花括号

例子:"{{ -...- }}".format()

得到'{ -...- }'

替换字段

 替换字段由 字段名、转换标志、格式说明符组成,其中每个部分都是可选的。

 字段名:索引或标识符,指出要设置哪个值的格式 并替换该字段。 还可指定值的特定部分(如列表的元素)

 转换标志:跟在叹号 ! 后面的单个字符。如

   r(repr)、s(str)、a(ascii)。如果指定了转换标志,将使用指定函数将对象转换为字符串。

 格式说明符:跟在冒号 :后面的表达式。格式说明符让我们能够详细地指定最终的格式。包括格式类型、宽度、精度  ,显式符号和千位分     隔符、对齐和填充方式。

替换字段名

1.给format提供未命名参数,将按顺序匹配

"{} {}".format(1,2)

得到:'1,2'

2. 给参数指定名称,替换相应字段。

"{two},{one}".format(one=1,two=2)

得到:'2,1'

3.使用索引指定相应参数

"{1} {0}".format("be","to")

得到:'to be'

4.可提供值的组成部分

names = ["al","be"]

"Mr {names[1]}".format(names=names)

得到'Mr be'


基本转换


转换标志:

1.提供转换标志

print("{pi!s} {pi!r} {pi!a}".format(pi="π"))

得到:π 'π' '\u03c0'

使用格式说明符:

2.指定转换的值的类型

"The number is {num:f}".format(num=42)

得到'The number is 42.000000'

3.宽度、精度和千位分隔符

"{num:10}".format(num=3) #设置num宽度为10

得到:'         3'

"{pi:10.2f}".format(pi=pi)

#设置精度,使用 .精度 来设置 f指定了类型为浮点数

得到:'      3.14'

"One googol is {:,}".format(10**100)

#使用, 指出添加千位分隔符

#同时指定其他格式设置元素时,这个逗号应放在宽度和表示精度的句点之间

得到:“'One googol is 10,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000'


4.符号、对齐和用0填充

在宽度和精度前,可添加一个标志(0,+,-,空格等)

0表示用0填充

< > ^ 设置左对齐、右对齐、居中

#可使用填充字符来扩充对齐说明符,如"{:$^15}" 将使用$填充缺少的位

= 指定填充字符放在符号和数字之间。

+ 给正数加符号

# 在符号说明符和宽度之间,给二进制、八进制、十六进制加上前缀.


字符串方法

1.center 两边填充字符,让字符居中

2.find   查找子串,有则返回第一个索引,无则返回-1

3.join 合并序列的元素(字符串)

4.lower 小写

5.replace 替换

6.split 拆分

7.strip 删除头尾的空白

8.translate 替换 同时替换多个字符 使用前需要创建转换表table = str.maketrans('cs','kz')#c-k s-z  提供第3个参数删除指定的字母

9.判断字符串

isspace,isdigit,isupper......


相关文章
|
2月前
|
移动开发 自然语言处理 Linux
Python中r前缀:原始字符串的魔法解析
本文深入解析Python中字符串的r前缀(原始字符串)的设计原理与应用场景。首先分析传统字符串转义机制的局限性,如“反斜杠地狱”问题;接着阐述原始字符串的工作机制,包括语法定义、与三引号结合的用法及特殊场景处理。文章重点探讨其在正则表达式、文件路径和多语言文本处理中的核心应用,并分享动态构建、混合模式编程等进阶技巧。同时纠正常见误区,展望未来改进方向,帮助开发者更好地理解和使用这一特性,提升代码可读性和维护性。
63 0
|
17天前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
79 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
25天前
|
SQL 安全 算法
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
Python 3.14 引入了七大核心技术特性,大幅提升开发效率与应用安全性。其中包括:t-strings(PEP 750)提供更安全灵活的字符串处理;类型注解惰性求值(PEP 649)优化启动性能;外部调试器API标准化(PEP 768)增强调试体验;原生支持Zstandard压缩算法(PEP 784)提高效率;REPL交互环境升级更友好;UUID模块扩展支持新标准并优化性能;finally块语义强化(PEP 765)确保资源清理可靠性。这些改进使Python在后端开发、数据科学等领域更具竞争力。
52 5
解读 Python 3.14:模板字符串、惰性类型、Zstd压缩等7大核心功能升级
|
1月前
|
搜索推荐 Python
Python语言中字符串操作方法的全面归纳
以上就是Python中一些重要的字符串操作方法,掌握了这些,对于操作字符串,你也就够用了。在Python众多的特性中,字符串操作无疑是最有趣的部分之一。希望你也觉得如此。
62 27
|
22天前
|
人工智能 Ruby Python
python__init__方法笔记
本文总结了Python中`__init__`方法的使用要点,包括子类对父类构造方法的调用规则。当子类未重写`__init__`时,实例化会自动调用父类的构造方法;若重写,则需通过`super()`或直接调用父类名称来显式继承父类初始化逻辑。文中通过具体代码示例展示了不同场景下的行为及输出结果,帮助理解类属性与成员变量的关系,以及如何正确使用`super()`实现构造方法的继承。
|
20天前
|
Python
|
20天前
|
Python
|
20天前
|
Python
Python教程:全局变量和局部变量
处理网https://www.91chuli.com/
|
3月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。

热门文章

最新文章

推荐镜像

更多