发布时间:2019-09-25 08:13:22编辑:auto阅读(1882)
字符串的方法及注释
capitalize() | 把字符串的第一个字符改为大写 |
casefold() | 把整个字符串的所有字符改为小写 |
center(width) | 将字符串居中,并使用空格填充至长度 width 的新字符串 |
count(sub[, start[, end]]) | 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 |
encode(encoding='utf-8', errors='strict') | 以 encoding 指定的编码格式对字符串进行编码。 |
endswith(sub[, start[, end]]) | 检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。 |
expandtabs([tabsize=8]) | 把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。 |
find(sub[, start[, end]]) | 检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。 |
index(sub[, start[, end]]) | 跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。 |
isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。 |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。 |
isdecimal() | 如果字符串只包含十进制数字则返回 True,否则返回 False。 |
isdigit() | 如果字符串只包含数字则返回 True,否则返回 False。 |
islower() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。 |
isnumeric() | 如果字符串中只包含数字字符,则返回 True,否则返回 False。 |
isspace() | 如果字符串中只包含空格,则返回 True,否则返回 False。 |
istitle() | 如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。 |
isupper() | 如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。 |
join(sub) | 以字符串作为分隔符,插入到 sub 中所有的字符之间。 |
ljust(width) | 返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
lower() | 转换字符串中所有大写字符为小写。 |
lstrip() | 去掉字符串左边的所有空格 |
partition(sub) | 找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '') |
replace(old, new[, count]) | 把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。 |
rfind(sub[, start[, end]]) | 类似于 find() 方法,不过是从右边开始查找。 |
rindex(sub[, start[, end]]) | 类似于 index() 方法,不过是从右边开始。 |
rjust(width) | 返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。 |
rpartition(sub) | 类似于 partition() 方法,不过是从右边开始查找。 |
rstrip() | 删除字符串末尾的空格。 |
split(sep=None, maxsplit=-1) | 不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。 |
splitlines(([keepends])) | 在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。 |
startswith(prefix[, start[, end]]) | 检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。 |
strip([chars]) | 删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。 |
swapcase() | 翻转字符串中的大小写。 |
title() | 返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。 |
translate(table) | 根据 table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。 |
upper() | 转换字符串中的所有小写字符为大写。 |
zfill(width) | 返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。 |
-------------------分割线,哈哈哈--------------------
课后作业
0.还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?
方法一:
>>> str1 = '''a
b
c'''
>>> print(str1)
a
b
c
方法二:
>>> str2 = "a\nb\nc"
>>> print(str2)
a
b
c
1.三引号字符串通常我们用于做什么使用?
在赋值的情况下,一般做多行输入;
不赋值的情况下,通常当作跨行注释使用。
2. file1 = open(‘C:\windows\temp\readme.txt’, ‘r’) 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?
因为字符串中的\t和\r表示TAB和回车。可以修改为:
file1 = open(r‘C:\windows\temp\readme.txt’, ‘r’)
r或者R是原始字符串操作符,不会转义\t和\r
3. 有字符串:str1 = '<a href ="http://www.fishc.com/dvd"target="_blank">'鱼C资源打包</a>’,请问如何提取出子字符串:'www.fishc.com'
>>> str1[17:30]
'www.fishc.com'
4.如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗?
>>> str1[-34:-21]
'www.fishc.com'
5.还是第三题那个字符串,请问下边语句会显示什么内容?
>>>str1[20:-36]
得出一个空字符
如果按原作者给出的答案,打印出fish的话,那么应该是:
>>> str1[21:-26]
'fish'
6.据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):str1 = ‘i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99’
>>> str1[::3]
'ilovefishc.com'
意思是从字符串0位开始到末尾,已步进值为3打印字符,也可写为>>> str1[0:42:3]
--------------分割线,哈哈哈------------------------
动动手:
0.请写一个密码安全性检查的脚本代码:check.py
低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
while 1:
password = input('请输入要检测的密码组合:')
length = len(password)
if (password.isspace() or length == 0):
password = input('请重新输入要检测的密码组合:')
length = len(password)
if length <= 8:
password_len = 1
elif (8 < length < 16):
password_len = 2
else:
password_len = 3
password_con = 0
for each in password:
if each in symbols:
password_con +=1
break
for each in password:
if each in chars:
password_con += 1
break
for each in password:
if each in nums:
password_con += 1
break
while 1:
print('您的密码安全级别为:',end='')
if password_len == 1 or password_con == 1:
print('低')
elif password_len == 2 or password_con == 2:
print('中')
else:
print('高')
print('请继续保持!')
break
print('''请按一下方式提升您的密码安全级别:
1.密码必须由数字、字母及特殊字符三种组合
2.密码只能由字母开头
3.密码长度不能低于16位''')
break
上一篇: 学习笔记-小甲鱼Python3学习第十八
下一篇: python3-字典中包含字典
48609
47600
38393
35615
30067
26786
25793
20683
20424
18824
106°
189°
223°
245°
240°
249°
285°
327°
451°
441°