python的字符串详解

1.字符串的格式化问题

    我叫xxx,我住在xxxx,我今年xx岁,我喜欢xxxxx

name = input("请输入你的名字:")    # 将用户本次输入的结果传入name变量中
address = input("请输入你的住址:")    # 将用户本次输入的结果传入address变量中
age = int(input("请输入你的年龄:"))    # 将用户本次输入的结果传入age变量中
hobby = input("请输入你的爱好:")    # 将用户本次输入的结果传入hobby变量中

s = "我叫%s,我住在%s,我今年%d岁,我喜欢%s" % (name, address, age, hobby)    # 非常麻烦
s1 = "我叫{},我住在{},我今年{}岁,我喜欢{}".format(name, address, age, hobby)    # 比较麻烦
s2 = f"我叫{name},我住在{address},我今年{age}岁,我喜欢{hobby}"    # 很好用


# %s 表示字符串占位
# %d 表示整数占位
# %f 表示小数占位

# s、s1、s2的效果相同,但是s2最好用
# 如果你的python编译器是python 2.x的,s2可能不一定能用

 2.索引和切片

     索引:按照位置提取元素
                可以采用索引的方式来提取某一个字符
                程序员都从0开始数
                符号表示倒数(-1为倒数第一)
                print(字符串[数字])

     切片:从一个字符串中提取一部分内容
                print(字符串[数字1:数字2])  #从数字1切到数字2的前一项
                如果从0开始切片,可以省略数字1
                如果一直截取到末尾,可以省略数字2
                print(字符串[:])    ->    从头截到尾(等于print(字符串))

                可以给切片添加步长来控制切片的方向
                print(字符串[数字1:数字2:步长])    # 从数字1到数字2,每步长个元素出来一个元素


 3.字符串常规操作

     字符串的操作一般不会影响原字符串,一般是返回一个新的字符串

     3.1 字符串大小写转换
dream.capitalize()    # Dream (单个单词首字母大写)
i have a dream.title()    # I Have A Dream (每个单词首字母大写)
I HAVE A DREAM.lower()    # i have a dream (每个单词的所有字母都小写)
i have a dream.upper()    # I HAVE A DREAM (每个单词的所有字母都大写)

如何忽略大小写来进行判断?  ->  upper()

verify_code = "xAd1"    # 将xAd1传到变量verify_code里
user_input = input(f"请输入验证码({verify_code}):")    # 获取用户的输入结果
if verify_code.upper() == user_input.upper():    # 全部大写就可以忽略大小写
    print("验证码正确")
else:
    print("验证码错误")

     3.2 替换和切割

strip()    # 去掉字符串左右两侧的空白符

username = input("请输入用户名:").strip()    # 获取用户的输入结果
password = input("请输入密码:").strip()    # 获取用户的输入结果
if username == "ABC":
    if password == "123456":    # if判断语句的嵌套
        print("登录成功")
    else:
        print("登录失败")
else:
    print("登录失败")

replace(old, new)    # 字符串替换

s = "hello i am a good man"
s1 = a.replace(" ","")    # 结果:helloiamagoodman(去掉所有的空格)

split(用什么切割)       字符串切割,用什么切,就会损失掉谁

a = "python_java_c_c#_javascript"
lst = a.split("_")   # 切割之后的结果会放在列表当中,用下划线切割
print(lst)   # >>>['python', 'java', 'c', 'c#', 'javascript']

lst = a.split("_java_")    # 用_java_切割
print(lst)   # >>>['python', 'c_c#_javascript']
 
     3.4 查找和判断

查找:
①字符串.find("文字")   # 如果返回的是 -1 就是没有该文字出现
②字符串.index("文字")   # 如果报错就是没有该文字出现
③print("文字" in 字符串)   # in 可以做条件上的判断 True->在 False->不在
    print("文字" not in 字符串)   # not in 是否不存在 True->不在 False->在

name = input("请输入你的名字:")
if name.startswith("张"):   # 字符串是否以xxxxxx开头,endswith()表示结尾
    print("你姓张")
else:
    print("你不姓张")
     3.5 补充和总结

        len(字符串)   # 字符串长度
         字符串 = "用什么连接".join(列表)   # 用东西(可以什么都不用,也就是"")把列表中的每一项连接起来,结果是字符串

         总结:

         ①格式化一个字符串

             f"{变量}" 

         ②索引和切片

             索引:从0开始,[]
             切片:字符串[start: end: stop],取到end位置的前一个

         ③相关操作

             字符串操作对原字符串是不发生改变的
             ㈠ upper() 在需要忽略大小写的时候
             ㈡ strip() 可以去掉字符串左右两端的空白(空格,tab,换行)
             ㈢ replace() 字符串替换
             ㈣ split() 对字符串进行切割
             ㈤ join() 拼接一个列表中的内容成为新的字符串
             ㈥ startswith() 判断字符串是否以xxx开头
             ㈦ len() 字符串长度(内置函数)

         ④字符串的循环和遍历

             for c in 字符串:
                 print(c)   字符串中的每一个字符

         ⑤关于in

             ㈠ 判断xxx是否在xxxx中出现
             ㈡ for循环

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值