知识点
- 字符串的 3 种表示
- 字符串的分割、连接、大小写转换、搜索等常用操作
字符串是python中最常见的数据类型
字符串的表示
- 可用单引号(
'...'
)或双引号("..."
)来表示字符串 - 想要分几行输入字符串,并且希望行尾的换行符自动包含到字符串当中,可以使用三对引号:
"""..."""
或'''...'''
。
字符串常见的API:
-
title()
返回字符串的标题版本,即单词首字母大写其余字母小写。 -
upper()
返回字符串全部大写的版本,反之lower()
返回字符串的全部小写版本。 -
swapcase()
返回字符串大小写交换后的版本 -
isalnum()
检查所有字符是否只有字母和数字 -
isalpha()
检查字符串之中是否只有字母 -
split()
分割任意字符串,split() 允许有一个参数,用来指定字符串以什么字符分隔(默认为 " "),它返回一个包含所有分割后的字符串的列表。 -
join()
使用指定字符连接多个字符串,它需要一个包含字符串元素的列表作为输入然后连接列表内的字符串元素。
>>> s = "shi yan lou"
>>> s.title()
'Shi Yan Lou'
>>> z = s.upper()
>>> z
'SHI YAN LOU'
>>> z.lower()
'shi yan lou'
>>> s = "We all love Python"
>>> s.split()
['We', 'all', 'love', 'Python']
>>> x = "shiyanlou:is:waiting"
>>> x.split(':')
['shiyanlou', 'is', 'waiting']
>>> "-".join("GNU/Linux is great".split())
'GNU/Linux-is-great'
字符串剥离:
-
strip(chars)
,用来剥离字符串首尾中
指定的字符,它允许有一个字符串参数,这个参数为剥离哪些字符提供依据。不指定参数则默认剥离掉首尾的空格和换行符
-
lstrip(chars)
或rstrip(chars)
只对字符串左或右剥离。
在进行左右剥离时,依据传入的参数chars在字符串中出现的顺序,如果前面的没有剥离,就算chars中包含有要剥离的字符也无法剥离。扒拉扒拉的,也不知道自己在说啥:(
>>> s = " a bc\n "
>>> s.strip()
'a bc'
>>> s = " a bc\n "
>>> s.strip()
'a bc'
文本搜索
-
find()
能帮助你找到第一个匹配的子字符串,没有找到则返回 -1。 -
startswith(chars)
检查字符串是否以 chars 开头 -
endswith(chars)
检查字符串是否以 chars 结尾
>>> s = "faulty for a reason"
>>> s.find("for")
7
>>> s.find("fora")
-1
>>> s.startswith("fa") # 检查字符串是否以 fa 开头
True
>>> s.endswith("reason") # 检查字符串是否以 reason 结尾
True
回文检查
#!/usr/bin/env python3
s = input("Please enter a string: ")
z = s[::-1] #把输入的字符串s 进行倒序处理形成新的字符串z
if s == z:
print("The string is a palindrome")
else:
print("The string is not a palindrome")
格式化操作符%
格式符为真实值预留位置,并控制显示的格式。常用的有:
-
%s
字符串(用 str() 函数进行字符串转换) -
%r
字符串(用 repr() 函数进行字符串转换) -
%d
十进制整数 -
%f
浮点数 -
%%
字符“%”
单词计数
对用户输入的一行文本进行单词计数。
#!/usr/bin/env python3
s = input("Enter a line: ")
print("The number of words in the line are %d" % (len(s.split(" "))))