字符串就是一串字符, 是编程语言中表示文本的数据类型
单引号 双引号 多引号 多行字符串, 有空格默认一个空格, 占一个位置
- str1 = "hello world"
- str3 = '666你好'
- str2 = """ what where who """
和列表一样, 通常使用下标获取
- str = "hello world"
- str[0] # 第一个元素
- str[1] # 第二个元素
- str1 = "hello word"
- for s in str1:
- print(s)
isalpha( ) : 在至少有一个字符的前提下, 所有字符都是字母组成, 返回True
isdecimal( ) : 在至少有一个字符的前提下,所有字符都是数字组成, 返回True
startwith(str) : 判断是否以 str 开头, 返回True
endwith(str) : 判断是否以 str 结尾, 返回True
- str1 = "hello world"
- # for s in str1:
- # print(s)
-
- # print(str1)
-
- str2 = "helloworld"
- str3 = ""
- str4 = "123abc"
- str5 = "123"
- str6 = "1 2456"
-
-
- """
- isalpha() : 至少有一个字符,并且所有字符都是字母则返回True
- """
- print(str1.isalpha()) # False(空格不是字母)
- print(str2.isalpha()) # True
- print(str3.isalpha()) # False(不满足至少有一个字符)
- print("*" * 20)
-
- """
- isdecimal() : 只包含数字则返回
- """
- print(str3.isdecimal()) # False
- print(str4.isdecimal()) # False
- print(str5.isdecimal()) # True
- print(str6.isdecimal()) # False
- print("*" * 20)
-
- """
- startwith(str) : 检查是否以str开头,是则返回True
- """
- print(str1.startswith("h")) # True
- print(str1.startswith("1")) # False
- print(str1.startswith("")) # True
- print("*" * 20)
-
- """
- endwith(str) : 检查是否以str结尾, 是则返回True
- """
- print(str1.endswith("d")) # True
- print(str1.endswith("")) # True
- print(str1.endswith("0")) # False
-
-
查找:
find (str, start = 0, end = len(string)) 从左往右找
str : 要查找的字符, start , end 指定范围, 如果找到则返回True
rfind (str, start = 0, end = len(string)) 从右往左找
str : 要查找的字符, start , end 指定范围, 如果找到则返回True
替换:
replace(old_str, new _str, num = string, count(old))
返回一个新字符串, 把stirng中的old_str替换成new_str,
如果num指定, 则替换不超过num次
- str1 = "hello world"
-
- """
- find(str, start = 0, end = len(string))
- 检查str 是否包含在string中, 如果start和end指定范围
- 则检查是否包含在指定范围内, 如果是返回开始的索引值, 否则返回 -1
- """
- print(str1.find("hello")) # 0
- print(str1.find("world")) # 6
- print("*" * 10)
- """
- rfind(str, start = 0, end = len(string))
- 从右边开始找
- """
- print(str1.rfind("hello")) # 0
- print(str1.rfind("world")) # 6
- print("*" * 10)
- """
- replace(old_str, new _str, num = string, count(old))
- 返回一个新字符串, 把stirng中的old_str替换成new_str,
- 如果num指定, 则替换不超过num次
- """
- print(str1.replace("hello", "666"))
- # 666 world
切割:
split (str="", maxsplit)
返回列表,以 str 为分隔符拆分 string,
如果 maxsplit 有指定值,则仅分隔 maxsplit + 1 个子字符串,
str 默认包含\r, \t, \n 和空格去空白:
strip()
返回新字符串,截掉 string 左右两边的空白字符(可以指定截掉的字符)
- str1 = "hello world"
-
- """
- split(str="", maxsplit)
- 返回列表,以 str 为分隔符拆分 string,
- 如果 maxsplit 有指定值,则仅分隔 maxsplit + 1 个子字符串,
- str 默认包含\r, \t, \n 和空格
- """
- print(str1.split(" "))
- # ['hello', 'world']
-
- print(str1.split("o"))
- # ['hell', ' w', 'rld']
-
- """
- strip()
- 返回新字符串,截掉 string 左右两边的空白字符(可以指定截掉的字符)
- """
- str2 = " a b c "
- print(str2)
- print(str2.strip())
-
● 用户名和密码格式校验程序 ● 要求从键盘输入用户名和密码,分别校验格式是否符合规则 ○ 如果符合,打印用户名合法,密码合法 ○ 如果不符合,打印出不符合的原因,并提示重新输入 ● 用户名长度6-20,用户名必须以字母开头 ● 密码长度至少6位,不能为纯数字,不能有空格 """ """ 1.从键盘输入用户名(需要while循环) 2.长度6-20 3.必须字母开头 4.输入密码(while循环) 5.密码长度至少6位 6.不能为纯数字 7.不能有空格
-
- while True:
- username = input("请输入用户名: ")
- # 用户名
- if 6 <= len(username) <= 20:
- if username[0].isalpha():
- print("合法用户名")
- break
- else:
- print("用户名首字符必须是字母")
- continue
- else:
- print("用户名长度不正确")
- continue
-
- while True:
- password = input("请输入密码: ")
- # 密码
- if len(password) >= 6:
- if not password.isdecimal():
- # " " in password
- if password.find(" "):
- print("合法密码")
- break
- else:
- print("密码不能有空格")
- continue
- else:
- print("密码不能为纯数字")
- continue
- else:
- print("长度不正确")
- continue