一、常用的查找方法
方法 | 说明 |
---|
len() | 计算字符串长度 | startswith | 以指定字符串开头 | endswith | 以指定字符串结尾 | find | 第一次出现指定字符串的位置 | rfind | 最后一次出现指定字符串的位置 | count | 计算指定字符串出现的次数 | isalnum | 所有字符全是字母或数字 |
a = '''这个世界收到了你们的信息。\
我是这个世界的一个和平主义者,我首先收到信息是你们文明的幸运,\
警告你们:不要回答!不要回答!不要回答!!!\
你们的方向上有千万颗恒星,只要不回答,这个世界就无法定位发出源。\
如果回答,发射器将被定位,你们的文明将遭到入侵,你们的世界将被占领!\
不要回答!不要回答!!不要回答!!!'''
print("这句话的长度:", len(a))
print(a.startswith("这个世界"))
print(a.endswith("不要回答!!!"))
print(a.find("世界"))
print(a[0])
print(a.rfind("世界"))
print(a.count("不要回答"))
print(a.isalnum())
b = "abh15a2"
print(b.isalnum())
二、去除首尾信息
???????可以使用 strip() 去除字符串首尾指定信息。通过 lstrip() 去除字符串左边指定信息;rstrip() 去除字符串右边指定信息。
a = "你爱我,我爱你"
print(a.strip("你"))
print(a.lstrip("你"))
print(a.rstrip("你"))
三、大小写转换
常用的函数 | 说明 |
---|
capitalize() | 产生新的字符串,首字母大写 | title() | 产生新的字符串,每个单词首字母大写。 注意单引号 ’ 后面的第一个字母也大写。 | upper() | 产生新的字符串,所有的字符全转成大写 | lower() | 产生新的字符串,所有的字符全转成小写 | swapcase() | 产生新的字符串,所有的字母大小写转换 |
a = "hello,I'm Hanhanyuan's girlfriend"
print(a.capitalize())
print(a.title())
print(a.upper())
print(a.lower())
print(a.swapcase())
四、排版格式
函数 | 说明 |
---|
center() | 居中对齐 | ljust() | 左对齐 | rjust() | 右对齐 |
a = "hello"
print(a.center(15,"."))
print(a.ljust(15,"."))
print(a.rjust(15,"."))
五、一些其他的方法
函数 | 说明 |
---|
isalnum() | 检测字符串是否为字母或数字 | isalpha() | 检测字符串是否只由字母组成(含汉字) | isdigit() | 检测字符串是否只由数字组成 | isspace() | 检测字符串是否为空白符 | isupper() | 检测字符串是否全为大写字母 | islower() | 检测字符串是否全为小写字母 |
a = "asdas15"
print(a.isalnum())
b = "Iam憨憨缘"
print(b.isalpha())
print("I am 憨憨缘".isalpha())
c = "s123456"
print(c.isdigit())
print("123456".isdigit())
d = " "
print(d.isspace())
e = "I love you"
print(e.isupper())
print("HHY".isupper())
f = "hanhanyuan"
print(f.islower())
print("HHy".islower())
六、数字格式化
① 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("憨憨缘"))
③ 数字格式化
???????浮点数通过 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))
b = "数字:{0:+.2f} "
print(b.format(+8848.8600))
c = "数字:{0:.0f} "
print(c.format(8848.8600))
d = "数字:{0:0>6d} "
print(d.format(8848))
e = "数字:{0:x<6d} "
print(e.format(8848))
e1 = "数字:{0:x<6d} "
print(e1.format(88480))
f = "数字:{0:,} "
print(f.format(8848.8600))
p = "数字:{0:.2%} "
print(p.format(8848.8600))
g = "数字:{0:.2e} "
print(g.format(8848.8600))
f1 = "数字:{0:10d} "
print(f1.format(8848))
f2 = "数字:{0:<10d} "
print(f2.format(8848))
f3 = "数字:{0:^10d} "
print(f3.format(8848))
④ 可变字符串
???????Python中,字符串属于不可变对象,不支持原地修改。如果需要修改其中的值,只能创建新的字符串对象。但是,如果确实需要原地修改字符串,可以使用 io.StringIO对象 或 array模块。
import io
a = "hello,憨憨缘"
aio = io.StringIO(a)
print(aio.getvalue())
print(aio)
aio.seek(0)
print(aio.seek(0))
aio.write("二1")
print(aio.getvalue())
aio.seek(7)
print(aio.seek(7))
aio.write("小")
print(aio.getvalue())
|