IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python学习笔记8_字符串的一些常用方法 -> 正文阅读

[Python知识库]Python学习笔记8_字符串的一些常用方法

一、常用的查找方法

方法说明
len()计算字符串长度
startswith以指定字符串开头
endswith以指定字符串结尾
find第一次出现指定字符串的位置
rfind最后一次出现指定字符串的位置
count计算指定字符串出现的次数
isalnum所有字符全是字母或数字
# 字符串的查找方法
a = '''这个世界收到了你们的信息。\
我是这个世界的一个和平主义者,我首先收到信息是你们文明的幸运,\
警告你们:不要回答!不要回答!不要回答!!!\
你们的方向上有千万颗恒星,只要不回答,这个世界就无法定位发出源。\
如果回答,发射器将被定位,你们的文明将遭到入侵,你们的世界将被占领!\
不要回答!不要回答!!不要回答!!!'''

print("这句话的长度:", len(a))  # 输出:这句话的长度: 150
print(a.startswith("这个世界"))  # 输出:True
print(a.endswith("不要回答!!!"))  # 输出:True
print(a.find("世界"))  # 输出:2
print(a[0])  # 输出:这
print(a.rfind("世界"))  # 输出:125
print(a.count("不要回答"))  # 输出:6

print(a.isalnum())  # 输出:False
b = "abh15a2"
print(b.isalnum())  # 输出:True

二、去除首尾信息

???????可以使用 strip() 去除字符串首尾指定信息。通过 lstrip() 去除字符串左边指定信息;rstrip() 去除字符串右边指定信息。

# 使用strip() 去除首尾指定信息 测试
a = "你爱我,我爱你"
print(a.strip("你"))  # 输出:爱我,我爱

# 使用lstrip() 去除左边指定信息
print(a.lstrip("你"))  # 输出:爱我,我爱你

# 使用rstrip() 去除右边指定信息
print(a.rstrip("你"))  # 输出:你爱我,我爱

三、大小写转换

常用的函数说明
capitalize()产生新的字符串,首字母大写
title()产生新的字符串,每个单词首字母大写。
注意单引号 ’ 后面的第一个字母也大写。
upper()产生新的字符串,所有的字符全转成大写
lower()产生新的字符串,所有的字符全转成小写
swapcase()产生新的字符串,所有的字母大小写转换
# 大小写转换测试

a = "hello,I'm Hanhanyuan's girlfriend"

print(a.capitalize())  # 输出:Hello,i'm hanhanyuan's girlfriend
print(a.title())  # 输出:Hello,I'M Hanhanyuan'S Girlfriend
print(a.upper())  # 输出:HELLO,I'M HANHANYUAN'S GIRLFRIEND
print(a.lower())  # 输出:hello,i'm hanhanyuan's girlfriend
print(a.swapcase()) # 输出:HELLO,i'M hANHANYUAN'S GIRLFRIEND

四、排版格式

函数说明
center()居中对齐
ljust()左对齐
rjust()右对齐
# 排版格式 测试
a = "hello"
# 居中对齐
print(a.center(15,"."))  # 输出:.....hello.....

# 左对齐
print(a.ljust(15,"."))  # 输出:hello..........

# 右对齐
print(a.rjust(15,"."))  # 输出:..........hello

五、一些其他的方法

函数说明
isalnum()检测字符串是否为字母或数字
isalpha()检测字符串是否只由字母组成(含汉字)
isdigit()检测字符串是否只由数字组成
isspace()检测字符串是否为空白符
isupper()检测字符串是否全为大写字母
islower()检测字符串是否全为小写字母
# 检测为数字或字母
a = "asdas15"
print(a.isalnum())  # 输出:True

# 检测字符串是否只由字母组成(含汉字)
b = "Iam憨憨缘"
print(b.isalpha())  # 输出:True
print("I am 憨憨缘".isalpha())  # 输出:False

# 检测字符串是否数字组成
c = "s123456"
print(c.isdigit())  # 输出:False
print("123456".isdigit())  # 输出:True

# 检测字符串是否为空白符
d = " "
print(d.isspace())  # 输出:True

# 检测字符串是否为大写字母
e = "I love you"
print(e.isupper())  # 输出:False
print("HHY".isupper())  # 输出:True

# 检测字符串是否为小写字母
f = "hanhanyuan"
print(f.islower())  # 输出:True
print("HHy".islower())  # 输出:False

六、数字格式化

① format()基本用法

???????Python2.6开始,新增一种格式化字符串的函数str.format(),它增强了字符串格式化的功能。
??????????????基本语法:通过 { } 和 : 来代替以前的 % 。
???????format函数可以接受不限个参数,位置可以不按顺序。
???????我们可以通过 {索引}/{参数名},直接映射参数值,实现对字符串的格式化。

# 格式化的学习
# 索引方式
a = "你好,我是{0},来自{1},多民族聚集的{1},是一个歌舞的海洋。"
print(a.format("憨憨缘","贵州"))  
# 输出:你好,我是憨憨缘,来自贵州,多民族聚集的贵州,是一个歌舞的海洋。

# 参数名方式
b = "你好,我是{name},来自{area},多民族聚集的{area},是一个歌舞的海洋。"
print(b.format(name="憨憨缘",area="贵州"))  
# 输出:你好,我是憨憨缘,来自贵州,多民族聚集的贵州,是一个歌舞的海洋。

② 填充和对齐
???????填充常跟对齐一起使用
???????^<> 分别是居中左对齐右对齐后面带宽度: 号后面带填充字符,只能是一个字符,不指定就默认为空格字符填充。

# 填充和对齐的使用
a = "hello,{:.^9}"
print(a.format("憨憨缘"))  # 输出:hello,...憨憨缘...

③ 数字格式化

???????浮点数通过 f ,整数通过 d 进行需要的格式化。

数字格式输出描述
8848.8600{0:.2f}8848.86保留小数点后两位
+8848.8600{0:+.2f}+8848.86带符号保留小数点后两位
8848.8600{0:.0f}8849不带小数
8848{0:0>6d}008848数字补零(填充左边,宽度为6)
8848{0:x<6d}8848xx数字补x(填充右边,宽度为6)
88480{0:x<6d}88480x数字补x(填充右边,宽度为6)
8848.8600{0:,}8,848.86以逗号分隔的数字格式
8848.8600{0:.2%}884886.00%百分比格式
8848.8600{0:.2e}8.85e+03指数格式
8848{0:12d}????????8848右对齐(默认,宽度为12)
8848{0:<12d}8848????????左对齐(宽度为12)
8848{0:^12d}????8848????居中对齐(宽度为12)
# 数字格式化

# 保留小数点后两位
a = "数字:{0:.2f} "
print(a.format(8848.8600))  # 输出:数字:8848.86

# 带符号保留小数点后两位
b = "数字:{0:+.2f} "
print(b.format(+8848.8600))  # 输出:数字:+8848.86

# 不带小数
c = "数字:{0:.0f} "
print(c.format(8848.8600))  # 输出:数字:8849

# 数字补零(左边补零,宽度为6)
d = "数字:{0:0>6d} "
print(d.format(8848))  # 输出:数字:008848

# 数字补x(填充右边,宽度为6)
e = "数字:{0:x<6d} "
print(e.format(8848))  # 输出:数字:8848xx

# 数字补x(填充右边,宽度为6)
e1 = "数字:{0:x<6d} "
print(e1.format(88480))  # 输出:数字:88480x

# 以逗号分隔的数字格式
f = "数字:{0:,} "
print(f.format(8848.8600))  # 输出:数字:8,848.86

# 百分比格式
p = "数字:{0:.2%} "
print(p.format(8848.8600))  # 输出:数字:884886.00% 

# 指数格式
g = "数字:{0:.2e} "
print(g.format(8848.8600))  # 输出:数字:8.85e+03

# 右对齐(默认,宽度为10)
f1 = "数字:{0:10d} "
print(f1.format(8848))  # 输出:数字:      8848

# 左对齐(宽度为10)
f2 = "数字:{0:<10d} "
print(f2.format(8848))  # 输出:数字:8848

# 居中对齐(宽度为10)
f3 = "数字:{0:^10d} "
print(f3.format(8848))  # 输出:数字:   8848

④ 可变字符串

???????Python中,字符串属于不可变对象,不支持原地修改。如果需要修改其中的值,只能创建新的字符串对象。但是,如果确实需要原地修改字符串,可以使用 io.StringIO对象array模块

# 可变字符串
import io  # 引入io模块
a = "hello,憨憨缘"
aio = io.StringIO(a)

print(aio.getvalue())  # 输出:hello,憨憨缘
print(aio)  # 输出:<_io.StringIO object at 0x0000020868B13E20>

aio.seek(0)
print(aio.seek(0))  # 输出:0
aio.write("二1")  # 指针移动到字符下标的第 0 个
print(aio.getvalue())  # 输出:二ello,憨憨缘

aio.seek(7)    # 指针移动到字符下标的第 7 个
print(aio.seek(7))  # 输出:7

aio.write("小")
print(aio.getvalue())  # 输出:二ello,憨小缘
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-29 12:58:42  更:2021-10-29 13:03:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:59:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码