字符串定义
Python中可以使用一对双引号或者一对单引号定义字符串
str1 = 'hello'
str2 = "hello"
获取字符串中元素
和列表一样,字符串也是通过索引获取元素
str = "hello"
# 获取第三个元素
ele = str[2] # l
遍历字符串
可以通过for
循环遍历字符串
str = 'hello'
for ele in str:
print(ele)
字符串的常见操作
判断
方法 | 说明 |
---|---|
isalpha() |
如果 string 至少有一个字符并且所有字符都是字母则返回 True |
isdecimal() |
如果 string 只包含数字则返回 True |
startwith(str) |
检查字符串是否是以 str 开头,是则返回 True |
endswith(str) |
检查字符串是否是以 str 结束,是则返回 True |
查找替换
方法 | 说明 |
---|---|
find(str, start=0, end=len(string)) |
检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1 |
rfind(str, start=0, end=len(string)) |
类似于 find(),不过是从右边开始查找 |
replace(old_str, new_str, num=string.count(old)) |
返回一个新字符串,把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次 |
切割
方法 | 说明 |
---|---|
split(str="", maxsplit) |
返回列表,以 str 为分隔符拆分 string,如果 maxsplit 有指定值,则仅分隔 maxsplit + 1 个子字符串,str 默认包含\\r , \\t , \\n 和空格 |
去空白
方法 | 说明 |
---|---|
strip() |
返回新字符串,截掉 string 左右两边的空白字符(可以指定截掉的字符) |
练习-用户名和密码校验
需求
- 用户名和密码格式校验程序
- 要求从键盘输入用户名和密码,分别校验格式是否符合规则
- 如果符合,打印
用户名合法
,密码合法
- 如果不符合,打印出不符合的原因,并提示重新输入
- 如果符合,打印
- 用户名长度
6-20
,用户名必须以字母开头 - 密码长度至少
6
位,不能为纯数字,不能有空格
分析
1.从键盘输入用户名(需要while循环)
2.长度6-20
3.必须字母开头
4.输入密码(while循环)
5.密码长度至少6位
6.不能为纯数字
7.不能有空格
实现
while True:
# 1.从键盘输入用户名(需要while循环)
name = input('请输入用户名:')
# 2.长度6-20
if not (len(name) >= 6 and len(name) <= 20):
print('用户名必须6到20位')
continue
# 3.必须字母开头 ab A-Z
# 获取第一个字母 是否是a-z A-Z a
ele = name[0]
if not ele.isalpha():
print('用户名第一个必须为字母')
continue
# 用户名满足
print('用户名合法')
break
# 4.输入密码(while循环)
while True:
pwd = input('请输入密码')
# 5.密码长度至少6位
if len(pwd) < 6:
print('密码长度至少为6位')
continue
# 6.不能为纯数字
if pwd.isdecimal():
print('密码不能为纯数字')
continue
# 7.不能有空格
# ' 张 三 '
if ' ' in pwd:
print('密码不能有空格')
continue
print('密码合法')
break
扩展 :::success
isalpha()
字符串中所有元素都是字母,则返回Trueisdecimal()
字符串中都是数字,则返回True :::