字符串

字符串

 

Python转义字符

在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:

原始字符串

有时我们并不想让转义字符生效,我们只想显示字符串原来的意思,这就要用r和R来定义原始字符串。如:

print r'\t\r'

实际输出为“\t\r”。

 

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\'

单引号

\"

双引号

\a

响铃

\b

退格(Backspace)

\e

转义

\000

空

\n

换行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\oyy

八进制数yy代表的字符,例如:\o12代表换行

\xyy

十进制数yy代表的字符,例如:\x0a代表换行

\other

其它的字符以普通格式输出

 

字符串格式化符号

使用操作符“%"来实现

%左边放置了一个待格式化的字符串,右边放置的是希望格式化的值。格式化的值可以是一个字符串或数字。

格式化符号

说明

%c

转换成字符(ASCII 码值,或者长度为一的字符串)

%r

优先用repr()函数进行字符串转换

%s

优先用str()函数进行字符串转换

%d / %i

转成有符号十进制数

%u

转成无符号十进制数

%o

转成无符号八进制数

%x / %X

转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写)

%e / %E

转成科学计数法(e / E控制输出e / E)

%f / %F

转成浮点数(小数部分自然截断)

%g / %G

%e和%f / %E和%F 的简写

%%

输出% (格式化字符串里面包括百分号,那么必须使用%%)

这里列出的格式化符合都比较简单,唯一想要强调一下的就是"%s"和"%r"的差别。

看个简单的代码:

>>> print ("%s" %string)

hello will

 

>>> string='hello\twill\n'

>>> print ("%s" %string)

hello will

 

>>> print ("%r" %string)

'hello\twill\n'

 

这里的差异是str()和repr()两个内建函数之间的差异:

  • str()得到的字符串是面向用户的,具有较好的可读性
  • repr()得到的字符串是面向机器的
  • 通常(不是所有)repr()得到的效果是:obj == eval(repr(obj))

 

字符串的方法

  1. find str.find() 用于检测字符串中是否包含子字符串str,返回结果为子串锁在位置的最左端索引,如果没有找到,就返回-1
  2. join str.join() 用于将序列中的元素以指定字符链接成一个新字符串
  3. lower str.lower() 用于将字符串中所有大写字符转换成小写字符
  4. upper str.upper() 用于将字符串中所有小写字符转换成大写字符
  5. swapcase str.swapcase() 用于对字符串的大小写字母进行转换,大写转换成小写,小写转换成大写。
  6. replace str.replace(od,new[,max]) 用于把字符串中的旧字符串替换成新字符串,如果指定第三个参数max,替换次数就不超过max次。
  7. split str.split(st='',num=string.count(str)) 通过指定分隔符对字符串进行切片,如果参数num有指定值,就只分隔num个子字符串。
  8. strip str.strip([chars]) 用于移除字符串头尾指定的字符(默认为空格)。
  9. translate str.translate(table[,deletechars]) 根据参数table给出的表(包含256个字符)转换字符串的字符,将要过滤掉的字符放在del参数中。

 

例子:Python maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

注:两个字符串的长度必须相同,为一一对应的关系。

语法

maketrans()方法语法:

str.maketrans(intab, outtab)

参数

  • intab -- 字符串中要替代的字符组成的字符串。
  • outtab -- 相应的映射字符的字符串。

返回值

返回字符串转换后生成的新字符串。

实例

以下实例展示了使用maketrans() 方法将所有元音字母转换为指定的数字:

#!/usr/bin/python # -*- coding: UTF-8 -*- from string import maketrans # 必须调用 maketrans 函数。 intab = "aeiou" outtab = "12345" trantab = maketrans(intab, outtab) str = "this is string example....wow!!!"; print str.translate(trantab);

以上实例输出结果如下:

th3s 3s str3ng 2x1mpl2....w4w!!!

 

posted @ 2018-01-22 14:53  板岩  阅读(168)  评论(0)    收藏  举报