python关于字符串

本文介绍了Python中处理字符串的方法,包括获取星期字符、字符串的索引与切片、操作符如+和*以及遍历、统计字符。还涉及了字符串的转换函数如lower()和upper(),以及分割、查找、替换等操作。此外,提到了格式化输出和字符串的遍历统计。
摘要由CSDN通过智能技术生成

#获取星期字符

>>>weekstr="星期一星期二星期三星期四星期五星期六星期天"
>>>weekid=int(input())
>>>pos=(weekid-1)*3
>>>print(weekstr[pos:pos+3]) 

#输入星期数字(1-7):3

星期三

字符串类型

字符串(str)是字符的序列表示

转义字符

以反斜杠"\“开头,后跟一个或几个字符

  • 换行符 :\n
  • 回车符 :\n
  • ......

字符串常量

使用前,需先执行import string。

  • string.ascii_letters :"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
  • string.ascii_lowercase:"abcdefghijklmnopqrstuvwxyz"
  • string.ascii_uppercase :"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  • string_digits:"0123456789"
  • string.hexdigits :"0123456789abcdefABCDEF"
  • ......

序列通用操作(字符串,元组,列表,range)

  •  s[i]:引索,返回序列s的第i项

  • s[start:end[:step]]:切片
  • s.count(x):序列s中x的个数
  • len(s):返回序列s的个数
  • ......

字符串的序号体系

正向递增序号:

以最左侧字符串序号为0,向右依次递增,最右侧字符序号为L-1(L为字符串长度)

反向递减序号:

以最右侧字符串序号为-1,向左依次递减,最左侧字符序号为-L(L为字符串长度)

字符串索引

对字符串中某个字符的检索被称为索引

>>>str="Python语言"

>>>str[0]

"P"

字符串切片

对字符串中某个子串或区间的检索被称为切片

<字符串或字符串变量>[头下标:尾下标:step]

 step:取值的步长不可以为0


>>>str="Python语言"

>>>str[0:6]

"Python"

>>>str[:-3]

"Python"

>>>str[: : :-1]

"言语nohtyP"

字符串操作符

+:拼接

*:复制

......

#输入身份证号,将出生日期用*替代后输出

id=input()

id=id[0:6]+"*"*8+[-4:]

print(id)

字符串的创建

'''......'''#三引号字符串中允许换行

>>>s="你好!"

>>>poem='''

>>>落霞与孤鹜齐飞,

>>>秋水共长天一色。

>>>'''

>>>print(poem)

落霞与孤鹜齐飞,

秋水共长天一色。

字符串的遍历

for 变量 从 in 字符串:

        循环体

  • 变量c依次被赋值为字符串中的字符
  • 循环次数为字符串中字符个数

#分类统计字符个数

import string

my_string=input()

letter,digit,other=0,0,0

for c in my_string:

      if c in string.ascii_letters:

            letter=letter+1

      elif c in string.digits:

            digit=digit+1

      else:

            other=other+1

print("字母:{}  数字:{}  其他:{}".format(letter,digit,other))

字符串的处理办法

全小写:str.lower()

全大写:str.upper()

.......

str.join(iterable)

以字符串str作为分隔符,将可迭代对象interable中字符串元素拼接为一个新的字符串

>>>Is=["23","21","89"]

>>>print(":".join(Is))

23:21:89

str.split(sep=None)

根据分隔符sep将字符串str分切成列表,列表每个元素为字符串

>>>score="10,32,58"

>>>score_Is=score.split(",")

>>>print(score_Is)

['10','32','58']

str.find(t):查找字符串t在字符串str中首次出现的位置,如果不存在返回-1。

str.rfind(t):查找字符串t在字符串str中最后一次出现的位置,如果不存在返回-1。

str.index(t):查找字符串t在字符串str中首次出现的位置,如果不存在抛出异常。

str.rindex(t):查找字符串t在字符串str中最后一次出现的位置,如果不存在抛出异常。

str.count(t):返回字符串t在字符串str中出现的次数。

str.replace(old,new[,count]):返回字符串str的副本,所有old子串被替换为new,如果count给出,则前count次old被替换。

>>>s="including"

>>>s.replace("in","3",1)

"3cluding"

str.isupper():当str所有字符串都是大写时,返回True,否则False

str.islower():当str所有字符串都是小写时,返回True,否则False

str.isalpha():当str所有字符串都是字母时,返回True,否则False

str.isnumeric():当str所有字符串都是数字时,返回True,否则False

.......

字符串格式化

  • format()

format()格式化

{<参数序号>:<格式控制标记>}

:引导符号

<填充>:用于填充的单个字符

<对齐> :<左对齐,>右对齐,^居中对齐

<宽度>

,   数字的千位分隔符,适用于整数和浮点数

<.精度> :浮点数小数部分的精度或字符串的最大输出长度

<类型>  :整数类型b,c,d,o,x,X  浮点数类型e,E,f,%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值