Python--字符串

一、通用序列操作

序列:是一块用来存放多个值的连续存储空间。

Python中常用的序列结构:字符串、列表、元组等。

序列成员可以进行的操作:索引、分片、加、乘、检测某个元素是否属于指定某个序列,计算序列的长度、最大元素、最小元素……


1、索引(下标):只能获取单个元素

序列对应下标:

正索引:左往右:0,1,2。。。;

负索引:右往左:-1,-2.。。。。;


2、分片:获取一定范围内的元素

语法:slice[start:end:step]

start:起始索引;

end:结束索引,【不包括结束位本身】;

step:步长【默认为1,不能为0】。

注意:省略“start”,表示序列


3、序列相加

加法运算符(相同类型的序列):连接;


4、乘法


5、长度:len()、最小值:min()、最大值:max()

strs=input("请输入一个字符串:")

print(len(strs))

print(min(strs))

print(max(strs))


6、字符串格式化操作

(1)、符号“%”

        a、”%[标志][0][最小输出宽度][.精度]格式字符”%变量;

        b、“%[+/-][0][m][.n]格式字符”%变量;

标志字符:输出数据的对齐方式 ,"+":右对齐,“-”:左对齐;

输出最小宽度:超过按实际输出,低于则补空格或0

精度:数字则表示小数点的位数,字符则字符个数,超过则截去多余的。

格式字符串:

格式字符
格式字符功能说明
%s字符串(采用str()显示)
%r字符串(采用repr()显示)
%c单个字符串
%%字符%
%d,%i十进制整数
%o八进制整数
%x十六进制整数
%f,%F浮点数
%e,%E指数(基底为e或E)
%g,%G以%f或%e中较短的输出宽度输出浮点数

a=15

b=12345678.1234567

strs="I like to learn the Python"

print("a=%05d"%a)#使用m控制输出位数,空位补0

print("b=%8.3f"%b)#用m.n控制输出的长度和小数点位数

print("%17s"%strs)#使用m控制输出字符串长度

print("%17r"%strs)#使用%r输出字符串

print("%-17.5s"%strs)#使用m.n进行左对齐、限制字符串长度和字符串位数.5:表示输出5个

(2)format()方法

        格式:模板字符串.format(逗号风格的参数)

        内部样式:{参数序号:格式控制标记}


7、字符串方法

(1)str.find(sub[,start[,end]])方法:

str:被查找字符串;

sub:查找的字串;

start、end:开始、结束索引,不包含end;

在字符串中查找字串,有则返回最左端的位置,无则返回-1。

(index()方法是当字串不存在会抛出异常)

(2)str.count(sub[,start[,end]])方法:返回统计子串在字符串中出现的次数

(3)split()方法:指定字符为分隔符

str.split([delimite,num])

str:被分隔的字符串;

delimite:分隔符,省略时默认为空字符;

num:分隔次数,默认全分隔。

(4)join()方法:将序列里的元素指定字符连接,形成新字符串;

str.join(sequence);

str:连接字符,sequence:元素序列

(5)replace()方法:替换字符串

str.replace(old,new[,max])

old:被替换的字符串;

new:新字符串。

(6)strip()方法:删除字符串两端连续的空白字符串或指定字符串

str.strip[[chars]]

(7)lower()和upper()方法:大写字母全部转为小写和小写字母转为大写。

Str.lower();str.upper()

(8)isalnum()方法:检测字符串是否有字母或数字或字母和数字组成,有则True,无则False


8、典型案例

#注册验证

user_name=input("请输入用户名(以“_”开头,3-30个字符)")

password=input("请输入密码(由下划线、数字和字母共同组成,8-16个字符)")

if user_name[0]!="_":

    print("没有以_开头")

elif 3>len(user_name)or 30<len(user_name):

    print("用户长度不正确")

elif 8>len(password)or 16<len(password):

    print("密码长度不正确")

elif password.find('_')==-1:

    print("密码未设有下划线")

else:

    passwords=password.replace('_','1')

    if passwords.isalnum():

        print("注册成功")

    else:

        print("注册失败")

#判断星期几

letter=input("请输入第一个字母:")

letter=letter.upper()

if letter == "M":

    print("星期一")

elif letter == "T":

    letter = input("请输入第二个字母:")

    letter =letter.lower()

    if letter == "u":

        print("星期二")

    else:

        print("星期四")

elif letter == "W":

    print("星期三")

elif letter =="S":

    letter = input("请输入第二个字母:")

    letter =letter.lower()

    if letter == "u":

        print("星期日")

    else:

        print("星期六")

else:

    print("星期五")

                            

test_str="02101 Hello Python 10310"

test_str=test_str.strip("021013 ")

print(test_str)

#将单独的i转化为I

text=input("请输入一段英文:")

result=[]

s_text=text.split()

for i in range(len(s_text)):

    if len(s_text[i])!=1:

        result.append(s_text[i])

    else:

        result.append(s_text[i].replace('i','I'))

print(' '.join(result))

        

        

    

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值