str模块

字符串

  • str
  • 表示文字信息
  • 用单引号,双引号,三引号括起来
    三引号的特点是可以存储多行信息,并保留格式
a= '''
i 
asd
asd

'''

print(a)
i 
asd
asd

转义字符

  • 用反斜杠来转义
  • windows中 \n 换行 ; linux中 \r\n : 换行
a='wo'
b='ai'
print(a+b)
woai
a= "let's go"
b= 'let\' go'
print(a,b)
# print(a,\nb)  错误
  File "<ipython-input-12-ec162cdbe208>", line 4
    print(a\n,b)
                ^
SyntaxError: unexpected character after line continuation character
  • 想要表示 \ ,则需要用 \ \ 反斜杠来转移反斜杠
a = 'abc\ndef\nghijk'
print(a)
abc
def
ghijk

常用的转义字符
\ 续行,表示格式太长,可以用来换行继续写

# 续行
for b in\
range(1,10):
    print(b,end=' ')
1 2 3 4 5 6 7 8 9 

格式化

  • 把字符串按照一定格式进行打印或者填充
    不变的固定,变的地方用变量填充
  • 填充方式
    • 传统格式化,用 % 占位符 占一个位置
      但是格式有规定
      %s:表示字符串占位
      %f:表示浮点占位
      %.2f 表示小数点保留后两位

同理在python中保留小数点

比如format中,“aaa  {:.2f}  asd”
在里面加上冒号,表示对里面的要求,然后加上 数字+f
 - format  没有规定必须是什么格式
     但是:字符串需要加上引号
 - format时使用{}来占位的,那如果想表示{}
s = "format是使用{}来占位的"
print(s)
format是使用{}来占位的

a = “I love %s”
print(a)
print(a%“XXX”)

I love %s
I love XXX

b = 'XXX'
a = "I love %s"    #单引号和双引号的字符串可以公用
print(a%b)#把这个式子展开就变为↓
print("I love %s"%'XXX')
# 和format有点像

print("I love {}".format(100))
# 将上面的写为多行
a = "I love {}"
b = input()
print(a.format(b))
I love XXX
I love XXX
I love 100
XSA
I love XSA
a = "{} {} !"
b = input()
c = input()
a = a.format(b,c)
print(a)
# print("{} {} !".format(b,c))
a
s
a s !
s = "{2}{1}{0}"
print(s.format("a","b","c"))#format里面的需要时字符串,字符串需要加上引号
cba

命名参数

s = "a is {aa} , b is {bb} , c is {cc}"
print(s.format(aa="a",bb="b",cc="c"))
a is a , b is b , c is c

字典

  • 需要在前面加上** , 将字典解包
  • 字典格式{“”:“”,“”:“”}
a_dict= {"a":"aa","b":"bb","c":"cc"}
s = "a is {a},b is {b},c is {c}"
print(a_dict)
print(s.format(**a_dict))
{'a': 'aa', 'b': 'bb', 'c': 'cc'}
a is aa,b is bb,c is cc

str 内置函数

  • 在python中用str来表示字符串
    • 有很多内置函数

查找类 find,index

  • find用法:是返回的结果是查找的字符第一次出现的位置,后面的不管,如果找不到则返回-1
    • 还可从想要的区间开始查找
    • rfind和lfind,从右开始查找,从左开始查找
  • index和find差不多,区别在于index查不到字符会报错,引发异常

判断类 islower,isalpha

- isalpha,判断字符串是否是字母,不能区分中英文
- 判断是否全部是字母
- 空格和逗号都不是
- S.isalpha()  ,并返回结果(bool)

- islower  判断是否全是小写的
- 可以help(str。islower)
- 空格不影响
- 汉字不是小写
    - 汉字也不是大写
    - “阿瑟东”。isuper()

内容判断

  • startswith/endswith
  • 检查字符串是否为XXX开头或者结尾
  • ”asdasdzxcqwe“。startswith(”asd”)
  • 返回结果(bool)
  • 同理可以知道,start,end
  • “asdqweasd”。start(“qwe”)

操作类

- format

- strip:删除字符串两边的空格或者字符,如果在后面逗号加上字符串,那么就会删掉想要的字符串
- 不返回值
- 只会从两边开始删除,并且山字符串空格不会删掉 
- rstrip,lstrip,删掉右边的,删掉左边的

- join:将两个字符串进行拼接,主要是以逗号为唤起点
- print(“a”。join(“as,阿瑟东,请问,q”))
    - 结果是“a”将后面的字符串中,逗号左右都加上一个“a”
    - 如果是对列表进行,则是将列表中的逗号进行替换
s = "asdasdasdqasdasdqwe"
s1 = "q"
# s.find(s1)

# s.find(s1,10) #表示从10的位置开始查找
s.rfind(s1)  # 从右边开始查找,查处的结果是正序的位置
16
# strip
a = "asdhho  qweoi kjh "

print(a)#看不出来
print(a.strip())
print(a,end='---')
print()
print(a.strip(),end="---")
print()
print(a.strip("asd"),end="---")
asdhho  qweoi kjh 
asdhho  qweoi kjh
asdhho  qweoi kjh ---
asdhho  qweoi kjh---
hho  qweoi kjh ---
print("a".join("a,d,f,q,q"))
print("a".join(["a","d","f","q","q"]))
aa,ada,afa,aqa,aq
aadafaqaq
str模块str模块 TXnsee 发布了21 篇原创文章 · 获赞 0 · 访问量 694 私信 关注
上一篇:学生管理系统C语言版


下一篇:【设计模式】四大原则