字符串定义
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-203.必须字母开头4.输入密码(while循环)5.密码长度至少6位6.不能为纯数字7.不能有空格
实现
while True:# 1.从键盘输入用户名(需要while循环)name = input('请输入用户名:')# 2.长度6-20if not (len(name) >= 6 and len(name) <= 20):print('用户名必须6到20位')continue# 3.必须字母开头 ab A-Z# 获取第一个字母 是否是a-z A-Z aele = 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('密码不能有空格')continueprint('密码合法')break
扩展 :::success
isalpha()字符串中所有元素都是字母,则返回Trueisdecimal()字符串中都是数字,则返回True :::
