字符串独有功能
示范name="Lotus"
则name.xxxx()
表示使用字符串的xxxx功能,()内可以传参
1.isdecimal()
name.decimal()
用来判断字符串是否是十进制整数,得到一个布尔值
num1 = input("请输入一个数:") num2 = input("请在输入一个数:") if num1.isdecimal() and num2.isdecimal(): num11 = int(num1) num12 = int(num2) print(num11 + num12) else: print("请输入整数!")
2.startswith()
name.startswith()
判断是否以某某某开头
例如
diqu = input("请输入您的地址:") if diqu.startswith("山东"): print("您是山东人!") else: print(f"您是{diqu}人!")
3.endswith()
name.endswith()
判断是否以某某某结尾
和startswith相同用法
4.strip
name.strip()
消除字符串两边的空格 换行符 制表符(tab键得到的空格),得到一个新的字符串
【相同的还有lstrip和rstrip 分别是消除左和右边的】
示例1
num1 = input("请输入验证码:") if num1.strip() == "1234": print("验证正确!") else: print("验证失败!")
示例2:
name.strip()
空格中传入参数可以消除字符串两边相对应的内容
num1 = input("请输入你的名字:") num11 = num1.strip("几把") #消除num1两边的几把 print(num11)
5.upper
name.upper()
把字符串变成大写,得到一个新的字符串
同理 name.lpwer()
把字符串变成小写
num1 = input("请输入验证码::") if num1.upper() == "ABCD": print("验证成功!") else: print("验证失败!")
6.replace
name.replace()
替换字符串内容,把参数1换成参数2
name = "L是帅哥" name = name.replace("帅哥", "鲨臂") print(name)
列表+循环案例
name_list = ["x是帅哥", "xx是帅哥", "xxx是帅哥", "xxxx是帅哥", "xxxxx是帅哥"] for item in name_list: item = item.replace("帅哥", "鲨臂") print(item)
7.split
name.split()
分割字符串
name = "xxx|鲨臂|烧饼" name_list = name.split("|") print(name_list) #['xxx', '鲨臂', '烧饼']
按顺序分割 (第几个第几个)
name = "xxx|鲨臂|烧饼" name_list = name.split("|",1) print(name_list) #['xxx', '鲨臂|烧饼']
8..join
拼接成字符串
name_list = ["xxx", "是", "烧饼", "几毛"] name = "".join(name_list) print(name)
9.format
字符串格式化
name = "{0}喜欢干{1},{2},{3}等职业" name = name.format("dxl", "护士", "嫩模", "老师") print(name)
10.encode和decode
字符类型转换成字节类型----unicode为字符类型----utf-8和gbk为字节类型
encode 字符转换为字节
name = "莲花" name1 = name.encode("utf-8") name2 = name.encode("gbk") print(name1) #b'\xe8\x8e\xb2\xe8\x8a\xb1' print(name2) #b'\xc1\xab\xbb\xa8'
decode 字节转换为字符
name = "莲花" name1 = name.encode("utf-8") name2 = name.encode("gbk") print(name1) # b'\xe8\x8e\xb2\xe8\x8a\xb1' print(name2) # b'\xc1\xab\xbb\xa8' s1 = name1.decode("utf-8") #莲花 s2 = name2.decode("gbk") #莲花 print(s1) print(s2)
11.center rjust ljust
将字符串内容居中,居左,居右
name = "莲花" name11 = name.center(10, "^") print(name11) # ^^^^莲花^^^^ name1 = name.rjust(8, "^") print(name1) # ^^^^^^莲花 name2 = name.ljust(8, "^") print(name2) # 莲花^^^^^^
12.zfill
二进制中填写0占位
name = "1011" name = name.zfill(8) print(name)
练习题
-
写代码实现判断用户输入的值否以 "al"开头,如果是则输出 "是的" 否则 输出 "不是的"
-
写代码实现判断用户输入的值否以"Nb"结尾,如果是则输出 "是的" 否则 输出 "不是的"
-
将 name 变量对应的值中的 所有的"l"替换为 "p",并输出结果
-
写代码实现对用户输入的值判断,是否为整数,如果是则转换为整型并输出,否则直接输出"请输入数字"
-
对用户输入的数据使用"+"切割,判断输入的值是否都是数字? 提示:用户输入的格式必须是以下+连接的格式,如 5+9 、alex+999
-
写代码实现一个整数加法计算器(两个数相加) 需求:提示用户输入:5+9或5+9或5+9,计算出两个值的和(提示:先分割再转换为整型,再相加)
-
写代码实现一个整数加法计算器(两个数相加) 需求:提示用户输入:5 +9或5+ 9或5 + 9,计算出两个值的和(提示:先分割再去除空白、再转换为整型,再相加)
-
补充代码实现用户认证。 需求:提示用户输入手机号、验证码,全都验证通过之后才算登录成功(验证码大小写不敏感)
import random code = random.randrange(1000,9999) # 生成动态验证码 msg = "欢迎登录PythonAV系统,您的验证码为:{},手机号为:{}".format(code,"15131266666") print(msg) # 请补充代码
-
补充代码实现数据拼接
data_list = [] while True: hobby = input("请输入你的爱好(Q/q退出):") if hobby.upper() == 'Q': break # 把输入的值添加到 data_list 中,如:data_list = ["小姨子","哥们的女朋友"] data_list.append(hobby) # 将所有的爱好通过符号 "、"拼接起来并输出