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......


相关文章
|
4天前
|
数据安全/隐私保护 Python
Python以及基础语法保姆级教程(超详细)-3
Python以及基础语法保姆级教程(超详细)
|
4天前
|
存储 Python 容器
Python以及基础语法保姆级教程(超详细)-2
Python以及基础语法保姆级教程(超详细)
|
1天前
|
程序员 Python
GitHub爆赞!最适合新手入门的教程——笨方法学Python 3
“Python 是一门既容易上手又强大的编程语言。”这句话本身并无大碍,但需要注意的是,正因为它既好学又好用,所以很多 Python 程序员只用到了其强大功能的一小部分。 今天给小伙伴们分享的这份手册以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。
|
3天前
|
Python 索引
【Python字符串攻略】:玩转文字,编织程序的叙事艺术
【Python字符串攻略】:玩转文字,编织程序的叙事艺术
|
3天前
|
Python
刷题——Python篇(3)字符串
刷题——Python篇(3)字符串
|
4天前
|
索引 Python
Python零基础入门-2 数字、字符串和列表
Python零基础入门-2 数字、字符串和列表
|
4天前
|
程序员 Python
GitHub爆赞!最适合新手入门的教程——笨方法学Python 3
“Python 是一门既容易上手又强大的编程语言。”这句话本身并无大碍,但需要注意的是,正因为它既好学又好用,所以很多 Python 程序员只用到了其强大功能的一小部分。 今天给小伙伴们分享的这份手册以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现。
|
4天前
|
机器学习/深度学习 Linux 开发者
Python以及基础语法保姆级教程(超详细)-1
Python以及基础语法保姆级教程(超详细)
|
4天前
|
算法 计算机视觉 Python
openCV 3计算机视觉 Python语言实现 笔记 第4章 深度估计与分割
openCV 3计算机视觉 Python语言实现 笔记 第4章 深度估计与分割
|
28天前
|
存储 索引 Python
Python基础 笔记(七) 容器--字符串、列表
Python基础 笔记(七) 容器--字符串、列表
24 4