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


相关文章
|
11天前
|
Python
Python中通过字符串访问与修改局部变量
Python中通过字符串访问与修改局部变量
11 0
|
4天前
|
数据采集 小程序 数据库
20年“镇国级”IT大牛,竟搞出500页漫画Python零基础顶级教程!
乔布斯说每个人都应该学习一门编程语言。Python正热,我决定通过编程让自己习得一种思考问题的方式,这也是我在个人编程生涯中的最大收获。 我以为只能枯燥无味地学编程,直到看到本书的样章,以漫画形式让我更直观、生动地了解到什么是编程。超级喜欢这种漫画风格。我回想起自己当年学习编程语言时的情景:逼迫自己背诵和消化、吸收那些自己根本没有理解的内容。如果当时有这么一本书,我就不会学得那么艰难,然后用了那么久才摸索成为一名“攻城狮”。
|
4天前
|
存储 Python 容器
Python基础语法:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
|
8天前
|
Java 开发者 Python
Python中,字符串(String)是一种不可变的数据类型
Python中,字符串(String)是一种不可变的数据类型
|
11天前
|
存储 Python 容器
Python基础:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
|
8天前
|
机器学习/深度学习 缓存 安全
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
|
8天前
|
存储 算法 安全
我们来看一个简单的Python代码示例,它使用`hashlib`模块中的`md5()`和`sha256()`函数来计算字符串的哈希值。
我们来看一个简单的Python代码示例,它使用`hashlib`模块中的`md5()`和`sha256()`函数来计算字符串的哈希值。
|
2月前
|
存储 索引 Python
Python基础 笔记(七) 容器--字符串、列表
Python基础 笔记(七) 容器--字符串、列表
34 4
|
1月前
|
索引 Python
Python零基础入门-2 数字、字符串和列表
Python零基础入门-2 数字、字符串和列表
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。