一.关于字符串的几条要点:
1.Python中单引号或者双引号内的内容都是字符串;
2.Python不支持单个字符,一个字符就是长度为一的字符串;
3.Python不支持对字符串内的单个值进行更改,意即Python中的字符串是不变值,这和Python中的数值是一样的,可以看一个例子:
s = 'message'
print(id(s))
w = 'message'
s = 'hello'
print(id(s))
print(id(w))
#输出:
3792352
52917696
3792352
可以看到当把s的值改变之后,它的地址也随之改变,而让新定义的变量w继续指向message这条信息后,w的地址也继承了原先s的地址;
4.利用切片截取的字符串是独立于原字符串之外的,并不是在原字符串上进行的操作;
5.利用三引号或者续行符都可以使字符串跨多行;
6.在将字符串用作判断条件时,除却空字符串是假之外,其余均为真;
二. Python转义符和字符串运算符
常用转义符:
\ :续行符;
name = 'jeha'
message = "welcome" + " "\
+ "to my hometown,"\
+ name.title() + '.'
print(message)
#输出:
welcome to my hometown,Jeha.
\ :反斜杠;
’ :单引号;
" :双引号;
\b :退格;
\n :换行;
\r :回车;
常用字符串运算符:
+:连接;
*:重复输出;
[:] :切片;这里注意,如果[a:b]中指定的a>b,则输出为空;
in :判断给定字符是否在字符串内,是则返回True;
not in:与in相反;
r/R :使字符串按原始状态来使用;
% :格式字符串;
三. 字符串格式化
C中的printf()可以格式化字符串的输出,Python也支持这一功能:
n = 4
print("I have %d friends." % (n))
#输出:
I have 4 friends.
name = 'jeha'
sage = 18
print("%s is %d years old." % (name.title(),sage))
#输出:
Jeha is 18 years old.
price = 9.968
print("The price is %.2f." % (price))
#输出:
The price is 9.97.
Python中类似%s、%d这种格式说明符与C中的基本一样,这里不再给出;
四. 常用的字符串内置函数
- len() :返回字符串的长度;
- title() :返回标题化的字符串,每个单词都转换为大写,其余为小写;
- upper() :字符串中所有小写化为大写;
- lower() :字符串中所有大写化为小写;
- count(str,beg=0,end=len(string)):返回字符串string内str出现的次数,如果指定了beg和end,则返回指定范围内str出现的次数;
- find(str,beg=0,end=len(string)):检测str是否出现在字符串中,如果指定范围,则检测该范围内是否出现过str,如果检测到,返回str开始位置的索引,否则返回-1;
- rfind() :类似于find(),不过查找位置从右边开始;
- replace(str1,str2,max):将字符串内的str1字符替换为str2字符,如果指定max,则替换次数不超过max次;
- rstrip() :删除字符串末尾的空格;