字符串

字符串

 

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  板岩  阅读(135)  评论(0编辑  收藏  举报