1.字符串的基本操作
所有标准的序列操作(索引、分片、乘法、判断成员的资格、求长度、取最大值和最小值)都适用于字符串。
Python 字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:
var1='Hello World!'var2="Python Runoob"
Python访问字符串中的值
Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。
Python访问子字符串,可以使用方括号来截取字符串,如下实例:
#!/usr/bin/pythonvar1='Hello World!'var2="Python Runoob"print"var1[0]: ",var1[0]print"var2[1:5]: ",var2[1:5]
以上实例执行结果:
var1[0]:H var2[1:5]:ytho
2.转义字符
转义字符
描述
\(在行尾时)
续行符
\\
反斜杠符号
\'
单引号
\"
双引号
\a
响铃
\b
退格(Backspace)
\e
转义
\000
空
\n
换行
\v
纵向制表符
\t
横向制表符
\r
回车
\f
换页
\oyy
八进制数,yy代表的字符,例如:\o12代表换行
\xyy
十六进制数,yy代表的字符,例如:\x0a代表换行
\other
其它的字符以普通格式输出
3.字符串运算
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符
描述
实例
+
字符串连接
>>>a+b
'HelloPython'
*
重复输出字符串
>>>a*2
'HelloHello'
[]
通过索引获取字符串中字符
>>>a[1]
'e'
[ : ]
截取字符串中的一部分
>>>a[1:4]
'ell'
in
成员运算符 - 如果字符串中包含给定的字符返回 True
>>>"H"ina
True
not in
成员运算符 - 如果字符串中不包含给定的字符返回 True
>>>"M"notina
True
r/R
原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
>>>printr'\n'
\n
>>>printR'\n'
\n
%
格式字符串
4.字符串格式化
多个值需要变成元祖
#!/usr/bin/pythonprint"My name is %s and weight is %d kg!"%('Zara',21)
MynameisZaraandweightis21kg!
使用规则
当一个参数时,不需要设置一个元组。
当一个以上的参数时必须为一个元组。
>>> print'%d'%1
1
>>> print '%d,%d'% 1,2
Traceback (most recent call last):
File "", line 1, in
TypeError: not enough arguments for format string
>>> print '%d,%d'%(1,2)
1,2
字段的宽度和精度
字段的宽度(是转换后的值所保留的最小字符个数,及空格+字符所占用的格式)
字段的精度(是目标数字打印时的显示精度,及几位小数点。)
字段的精度和宽度都可以使用‘*’配合元组来表示目标参数的宽度和精度。
示例代码:
>>> '%10f'% 1
' 1.000000'
>>> '%10d'1
File "", line 1
'%10d'1
^
SyntaxError: invalid syntax
>>> '%10d' % 1
' 1'
>>> '%10d'% 1
' 1'
>>> '%10s'% str
""
>>> '%10s'% 'str'
' str'
>>>
>>> '%.*s'% (5,'hsidshidshid')
'hsids'
>>> '%.*f'% (3,1)
'1.000'
符号、对齐、和0
在字段宽度和精度钱还可以放置一个参数,即“标志”,该标志表达符号为“+、-、0、空格”
零的用法:
>>> '%010.2f'% 1
'0000001.00'
“+”作用:
“-”作用:
“空格”作用:
python字符串格式化符号:
符 号
描述
%c
格式化字符及其ASCII码
%s
格式化字符串
%d
格式化整数
%u
格式化无符号整型
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同%e,用科学计数法格式化浮点数
%g
%f和%e的简写
%G
%f 和 %E 的简写
%p
用十六进制数格式化变量的地址
5.字符串方法
字符串的方法有很多,在这只介绍几个经常用的方法。
find
寻找某个字符串组中的子字符串。
还可以寻找两个相同的字符串的开头和终止位置。
'my name is cai'.find('cai')
'$$$ my name is cai $$$'.find($$$,0,19)#0代表的是起点,19代表的是终点;这个用法意义不大
lower
把所有的字符串都变成小写字母。
from string import *
a='MY NAME IS CAI'
a.lower()
capwords首字母变大写
from string import *
a="that's is my boby"
string.capwords("a")
strip
去除空格
' my name is cai '.strip()
split/join 这两个函数的作用是相逆的
join的作用是字符串的特殊相加;而split将字符串分割成序列。
c=['1','2','3','4']
d='+'
c=d.join(c)#列表没有这种方法所以对象不能为列表
c.split('+')
replece
' my name is cai,my baby is ren'.replace('ren','dan dan')