软件测试第二阶段:python程序开发第三课:数据结构(3) 字符串

字符串基础特性

支持序列类型的所有基础操作

  • 切片

  • 索引

  • 加法

  • 乘法

定义字符串:

  • str(变量名)= "xxxx"

str = "abcdefghigklmn"    # 定义字符串

str1 = str[3:7]           # 切片
print(str1)

str2 = str[4]             # 索引
print(str2)

s1 = "hello "
s2 = "boys"
s = s1 + s2               # 加法
print(s)

print(s1 * 5)             # 乘法g)

查看数据类型

s = "abc"
print(type(s))         # 输出类型是str,表示是字符串

l = ["abc"]
print(type(l))         # 输出类型是list,表示是列表

t = ("abc",)          
print(type(t))         # 输出类型是tuple,表示是元组

d = {"name":"tom","age":18}
print(type(d))          # 输出类型是dict,表示是字典

字符串操作

1)访问字符串的子串

  • 通过切片

案例:打印字符串的倒数第二个字符

s = "abcdefghijklnm"
# 方法1
print(s[-2])                 #输出索引值为负2的元素

# 方法2
num = len(s)                  #获取字符串的长度
print(s[num-2])             

2)字符串替换

方法:

  • str.replace("目标","替换结果",[替换几个])

案例:将字符串中的c替换成1234

s = "abcdefghcjclnmc"
s = s.replace("c","1234")      # 将全部的c都替换成123
print(s)

s = s.replace("c","1234",2)    # 将前两个c替换成123
print(s)

3)字符串拼接

方法1:用 + 进行拼接

s1 = "aaa"
s2 = "bbb"
s3 = "ccc"
s = s1 + s2 + s3
print(s)

方法2:在输出的时候,用占位符进行拼接

s1 = "aaa"
s2 = "bbb"
s3 = "ccc"
print("%s%s%s"%(s1,s2,s3))

方法3:结合列表的和join方法进行拼接

s1 = "aaa"
s2 = "bbb"
s3 = "ccc"
s = "".join([s1,s2,s3])

方法4:格式化

s1 = "aaa"
s2 = "bbb"
s3 = "ccc"

print("{}{}{}".format(s1,s2,s3))

print("{str1}{str2}{str3}".format(str1=s1,str2=s2,str3=s3))

字符串方法

方法1:find

  • 返回指定的字符在字符串中的索引值

  • 如果字符串中没有这个字符,会返回-1

  • 默认情况下,会从最左侧开始查找,找到第一个字符后,会停止

  • 也可以指定从哪个字符开始查找

  • 格式:str.find("目标",[start])

案例:让用户随意输入一个字符串,字符串中必须有两个c,打印输出这两个字符的索引值

userInput = input("please enter something: ")
num1 = userInput.find("c")
num2 = userInput.find("c",num1+1)
print(num1,num2)

方法2:index

  • 返回指定的字符在字符串中的索引值

  • 如果字符串中没有这个字符,会抛出异常

  • 默认情况下,会从最左侧开始查找,找到第一个字符后,会停止

  • 也可以指定从哪个字符开始查找

  • 格式:str.index("目标",[start])

方法3:join方法

  • 用于将列表中的元素拼接字符串

  • 列表中的元素必须全部都是字符串类型,否则报错

  • 格式:"+".join(列表)

案例:

l = ["1","a","qq","d"]
s = "".join(l)
print(s

案例2:将列表l = ["a","qq","cd1",123, 3.14, "6"] 中的全部的元素转换为字符串类型【用两种方法实现】

方法一:

li = ["a","qq","cd1",123, 3.14, "6"]
for age in range(len(li)):
    li[age]=str(li[age])
print(li)

方法二:

li = ["a","qq","cd1",123, 3.14, "6"]
age = str(li)
print(age)

案例3:将列表num = [1,3,5,7,9]中的内容输出成1+3+5+7+9

li=[1,3,5,7,9]
for age in range(len(li)):
    li[age]=str(li[age])

s="+".join(li)
print(s)

方法4:大小写转换

  • lower:将内容全部转换为小写

  • upper:将内容全部转换为大写

  • title:将自带一个字母转换为大写,其他全部都自动转换为小写

方法5:split方法

  • 作用:将字符串转换为列表

  • split方法可以指定用哪个字符对字符串进行切割

str = "i love linux and pyhon"
li1 = list(str)
print(li1)

li2 = str.split(" ")
print(li2)

li3 = str.split("o")
print(li3)

方法6:strip

  • 去除字符串两侧的空格

案例:让用户输入任意内容,将用户输入的内容中的全部空格剔除掉【至少两种方法】

方法一:

num = input("请输入任意内容: ").strip().replace(" ", "")     
#strip    将用户输入的内容俩边的空格去除
#replace   将用户输入内容中的" "替换成""  
print(num)

方法二:

str = ""
userinput =input("请输入:")
for char in userinput:                #用循环让用户输入进去的内容一个一个输出
   if char == " ":                  #如果char中有空格
      pass                            # 就跳过
   else:
        str += char                   #str就等于char
print(str)

方法三:

list_str = []
userinput =input("")
for char in userinput:
   if char == " ":
     pass
   else:
        list_str.append(char)                      #将char中的内容赋值给list
str = "".join(list_str)                            #用join的方法在拼接成字符串
print(str)

方法7:判断

isinstance(变量名,变量类型)   # 如果变量和类型一致,则返回真;否则返回假

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值