python 中的字符串用单引号 ‘ 或双引号 ” 括起来,同时使用反斜杠 \ 转义特殊字符。
常见的形式有:
(1)’hello’
(2)”hello”
(3)”’this is
just a test
”’
值得注意的是最后一种形式,三引号中间的内容将原样保持,包括回车换行。
所谓 转义字符 ,就是表示特殊含义的字符。python中的转义字符几乎和c、java等语言的一样,常用的基本就是\n(表示换行) \t(表示 横向制表符 ) \\(表示反斜杠) \'(表示单引号) \”(表示双引号)
>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob
>>>
字符串前面添加一个 r ,表示原始字符串,这时候转义字符将不再起作用。
这里顺便提一下在字符串前加一个u,表示这是unicode编码的字符串(字符的编码以后再说了)。
>>> u'Hello World !'
u'Hello World !'
字符串的创建
直接赋值就可以
var1 = 'Hello World!'
var2 = "Python Runoob"
字符串的截取
(1)截取单个字符:直接用下标,注意下标识从0开始.
print(var1[0]) #H
print(var2[1]) #y
(2)截取连续字符串:格式 变量[头下标:尾下标]
需要特别注意的是: 尾下标指向的字符不再选取范围内
print(var1[0:2])#He
print(var2[3:8])#hon R
另外下标也可以从尾部计数,这样就是负数形式
print(var1[5:-1])#Worl
print(var2[-4:-1])#noo
缺省情况表示,一直都尾(或头)
print(var1[5:])#World
print(var2[-4:])#noob
字符串操作
(1)字符串连接
>>>a + b
'HelloPython'
(2) 重复输出字符串
>>>a * 2
'HelloHello'
(3)成员运算符 – 如果字符串中包含给定的字符返回 True
>>>a="Hello"
>>>"H" in a
True
(4) 成员运算符 – 如果字符串中不包含给定的字符返回 True
>>>a="Hello"
>>>"M" not in a
True
Python 字符串格式化
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
print( "My name is %s and weight is %d kg!" % ('Zara', 21) )
前半部分是格式化串,里面的%s %d 等都是占位符,表示要用字符串或数字去填充;
后半部分是用实际填充的内容,中间用%间隔。
符 号描述
%c 格式化字符及其ASCII码
%s 格式化字符串(常用)
%d 格式化整数(常用)
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化 浮点数 字,可指定小数点后的精度(常用)
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写(常用)
%G %F 和 %E 的简写
%p 用十六进制数格式化变量的地址
%% 输出一个单一的'%
对于浮点数还常用这样的形式:
“%3.2f”
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
python的字符串内建函数
这个内容比较多,这里就举几个常用的吧!
string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
string.count(str, beg=0, end= len (string))
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
string.find(str, beg=0, end=len(string))
检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
string.join(seq)
以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
string.replace(str1, str2, num=string.count(str1))
把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
string.split(str="", num=string.count(str))
以 str 为分隔符切片 string,如果 num 有指定值,则
string.strip([obj])
在 string 上执行 lstrip()和 rstrip(),也就是去掉首尾的空格
string.upper() 转换 string 中的小写字母为大写
string.lower() 转换 string 中所有大写字符为小写.