python基础数据类型:str(字符串)__003

1、str(字符串):python3中凡是引号括起来的都是字符串(包括单引号'字符串内容',双引号"字符串内容")

2、字符串的索引和切片

(1)索引

s = 'sdflajdf1212'

print(s[0])  #截取字符串s的第一个元素s

print(s[-1]) #截取字符串s的最后一个元素2

print(s[3])  #截取字符串s的第四个元素l

(2)切片

s = 'aslfja121lj'

print(s[0:3])  #截取字符串s的元素asl

print(s[:])    #截取字符串s的所有元素

#s[首:尾:步长]

print(s[-1::-1])  #倒着截取字符串s的元素jl121ajflsa  切片取字符串,反向,步长为1

print(s[-1:3:-1])  #倒着截取字符串s的元素jl121aj   切片取字符串,反向,步长为1

print(s[-1:3:-2])  #倒着截取字符串s的元素j11j  切片取字符串,反向,步长为2

print(s[::-1])  #  切片取字符串所有元素,反向,步长为2

3、字符串的操作方法

(1)方法:capitalize()  #字符串中第一个是字母大写,其余的字母小写

s = 'aslfj a121lj'
print(s.capitalize())   # Aslfj a121lj

(2)方法:upper() 字符串全部大写;lower() 字符串全部小写;title() 字符串每个单词的首字母大写

s = 'aslfj a121lj'
print(s.title())  #Aslfj A121Lj
print(s.upper())  #ASLFJ A121LJ
print(s.lower())  #aslfj a121lj

    应用场景例子:验证码不区分大小写

while 1:
    you_input = input('请输入验证码:')
    if you_input.lower() == 'acd2':
        print('验证码输入正确')
        break
    else:
        print('验证码输入错误,请重新输入')

(3)方法:swapcase()  大小写反转

s = 'Aslfj a121lj'
print(s.swapcase())  #aSLFJ A121LJ

(4)方法:center(int,'填充内容')  #居中空白填充,int是填充宽度

s = 'aasdSDS adsds'
s6 = s.center(30,"T")
print(s6)  #TTTTTTTTaasdSDS adsdsTTTTTTTTT

(5)公共方法:(包括列表、元组和字典),查看字符串的长度

扫描二维码关注公众号,回复: 4647884 查看本文章
i = "asdljf ssdlfj"
j = len(i)
print(j)   # 13

(6)方法:startswitch() 用于检查字符串是否以指定字符串开头,如果是则返回True,否则返回False;如果指定start和end指定值,则指定范围内检查。

格式:S.startswith(prefix[,start=0[,end=len(S)]])

S - - 父字符串。

prefix - - 指定前缀,该参数可以是一个字符串或者是一个元素。

start - - 可选参数,字符串中的开始位置索引,默认为0。(可单独指定)

end - - 可选参数,字符中结束位置索引,默认为字符串的长度。(不能单独指定)

S = "this is string example....wow!!!"
print (S.startswith( 'this' ))            #True 
print (S.startswith( 'string', 8 ))       #True
print (S.startswith( 'this', 0,len(S) ))  #True

(7)find和index

find 通过元素找索引,找不到返回-1,所以用find

index通过元素找索引,找不到报错

S = " this is string example....wow!!! "
print(S.find(','))
print(S.index(','))

#E:\python\python.exe E:/wj/python_practice/复习1.py
# -1
# Traceback (most recent call last):
#   File "E:/wj/python_practice/复习1.py", line 432, in <module>
#     print(S.index(','))
# ValueError: substring not found

(8)strip:默认删除字符串两端的空格;lstrip:删除字符串左边的空格;rstrip:删除字符串右边的空格。

S = " this is string example....wow!!! "
print(S.strip())
#this is string example....wow!!!

(9)count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置

格式:str.count(sub, start= 0,end=len(string))

 sub - - 搜索的子字符串

start - - 字符串开始搜索的位置。默认为第一个字符, 第一个字符索引值为0。

end - - 字符串中结束搜索的位置。字符中第一个字符的索引为0。默认为字符串的最后一个位置。

S = " this is string example....wow!!! "
s1 = S.count('s',5,8)
print(s1)  #1

(10)字符串类型格式化输出:

%占位符,s字符串,d:digit数字(注:只是单纯加%:%%)

name = input('请输入姓名:')
age = input('请输入年龄:')
height = input('请输入身高:')
msg = '我叫%s,我年龄是%s,我的身高%s'%(name,age,height)
print(msg)

# 请输入姓名:江河
# 请输入年龄:18
# 请输入身高:170
# 我叫江河,我年龄是18,我的身高170
#用户登录(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用格式化输出)
count = 3
count_0 = 0
while count_0<3:
    username = input('请输入姓名:')
    password = input('请输入密码:')
    if username == '江河' and password == '123456':
        print('登录成功')
    else:
        count_0 += 1
        count -= 1
        print('用户名或密码输入错误,剩余错误次数%s次。'%count)

format()方法,基本格式是:<模板字符串{}>.format(<逗号分隔的参数>)

#(1)通过调用format()方法,来实现新的字符串
s = "我的名字叫{},今年{},爱好{}".format('江河','18岁','爬山')
print(s)

#(2){}中录入元素,可以指定多个相同的元素,参数只需传入一个
s = "我的名字叫{0},今年{1},爱好{2},我叫{0}".format('江河','18岁','爬山')
print(s)

#(3)使用字典的键值对来做参数,无需指定参数顺序
s = "我的名字叫{name},今年{age},爱好{hobby},我叫{name}".format(name = '江河',hobby = '爬山',age = '18岁')
print(s)


#(4)引用参数
name = input('请输入名字: ')
s = "我的名字叫{name_1},今年{age},爱好{hobby},我叫{name_1}".format(name_1= name,hobby = '爬山',age = '18岁')
print(s)

(11)replace()用于修改字符串中的old(旧的字符串)替换成new(新字符串),如果指定第三个参数max,则替换不超过max次。

格式:replace(self,old,new,count= None)  old:要代替的内容,new:新的内容,count:内容如果有重复的,代替几个

s = "来看待街坊邻居复合大师邻居邻居客户"
print(s.replace('邻居','江河',2))

#来看待街坊江河复合大师江河邻居客户

(12)isdigit()判断字符串是否由纯数字组成

s = "12345"
print(s.isdigit())  #True

#加法计算
#加法计算
sum = 0
count = input('请输入运算的信息:')
for i in count.split('+'):
    sum += int(i)
print(sum)

# 计算任意输入的字符串,包含多少个数字
count = 0
s = input("请输入信息:")
for i in s:
    if i.isdigit():
        count += 1
print(count)

猜你喜欢

转载自blog.csdn.net/weixin_41253809/article/details/81667086