count 方法用于检索指定字符串在另一字符串中出现的次数,如果检索的字符串不存在,则返回 0,否则返回出现的次数。
count 方法的语法格式如下:
str.count(sub[,start[,end]])
此方法中,各参数的具体含义如下:
str:表示原字符串;
sub:表示要检索的字符串;
start:指定检索的起始位置,也就是从什么位置开始检测。如果不指定,默认从头开始检索;
end:指定检索的终止位置,如果不指定,则表示一直检索到结尾。
【例 1】检索字符串“c.biancheng.net”中“.”出现的次数。
>>>?str?=?"c.biancheng.net" >>>?str.count('.') 2
【例 2】
>>>?str?=?"c.biancheng.net" >>>?str.count('.',1) 2 >>>?str.count('.',2) 1
我们已经学过,字符串中各字符对应的检索值,从 0 开始,因此,本例中检索值 1 对应的是第 2 个字符‘.’,从输出结果可以分析出,从指定索引位置开始检索,其中也包含此索引位置。
【例 3】
>>>?str?=?"c.biancheng.net" >>>?str.count('.',2,-3) 1 >>>?str.count('.',2,-4) 0
我们见过书写字符串的一种特殊方式,即直接将两个字符串紧挨着写在一起,这样的话?Python?就会自动拼接它们,比如说:
s1?=?"Hello,"'Charlie' print(s1)
上面代码将会输出:
Hello,Charlie
其实,这种写法只是书写字符串的一种特殊方法,并不能算是真正意义上的拼接字符串。Python 使用加号(+)作为字符串的拼接运算符,例如如下代码:
s2?=?"Python?" s3?=?"iS?Funny" #使用+拼接字符串 s4?=?s2?+?s3 print(s4)
Python字符串拼接数字
除此之外,在某些特殊场景中,我们需要将字符串与数字进行拼接,而 Python 不允许直接拼接数字和字符串,程序必须先将数字转换成字符串。
为了将数字转换成字符串,可以使用 str() 或 repr() 函数,例如如下代码:
s1?=?"这是数字:?" p?=?99.8 #字符串直接拼接数值,程序报错 print(s1?+?p) #使用str()将数值转换成字符串 print(s1?+?str(p)) #使用repr()将数值转换成字符串 print(s1?+?repr(p))
上面程序中直接拼接字符串和数值,程序会报错。
str() 和 repr() 函数都可以将数字转换成字符串,其中 str 是 Python 内置的类型(和 int、float 一样),而 repr() 则只是一个函数。此外,repr 还有一个功能,它会以 Python 表达式的形式来表示值。对比如下代码:
st?=?"I?will?play?my?fife" print?(st) print(repr(st))
上面代码中,st 本身就是一个字符串,但程序依然使用了 repr() 对字符串进行转换。运行上面程序,可以看到如下输出结果:
I?will?play?my?fife 'I?will?play?my?fife'
通过上面的输出结果可以看出,如果直接使用 print() 函数输出字符串,将只能看到字符串的内容,没有引号;但如果先使用 repr() 函数对字符串进行处理,然后再使用 print() 执行输出,将可以看到带引号的字符串,这就是 Python 字符串的表达式形式。
在交互式解释器中输入一个变量(或表达式)时,Python 会自动使用 repr() 函数处理该变量(或表达式)。