Python转义字符、字符串格式化、字符串内建函数

时间:2023-01-08 09:15:47
转义字符      描述
\(行尾)          续行符
\\                  反斜杠符号
\'                  单引号
\"                  双引号
\a                  响铃
\b                  退格(Backspace)
\e                  转义
\000                  空
\n                  换行
\v                  纵向制表符
\t                  横向制表符
\r                  回车
\f                  换页
\oyy              八进制数,yy代表的字符,例如:\o12代表换行
\xyy               十六进制数,yy代表的字符,例如:\x0a代表换行

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


字符串格式化

eg:
print ("姓名:%s,班级 %d 班。" % ('张三', 3))
>>>姓名:张三,班级3班。



字符串格式化符号:
      符号               描述
      %c       格式化字符及其ASCII码

      %s       格式化字符串

      %d,i     带符号十进制整数

      %u       不带符号十进制整型

      %o       不带符号八进制数

      %x       不带符号十六进制数(小写)

      %X       带符号十六进制数(大写)

      %f,F     格式化浮点数字,可指定小数点后的精度

      %e       用科学计数法格式化浮点数

      %E       作用同%e,用科学计数法格式化浮点数

      %g       %f和%e的简写

      %G       %f 和 %E 的简写

      %p       用十六进制数格式化变量的地址


格式化操作符辅助指令:
符号       功能
 *           定义宽度或者小数点精度

 -           用做左对齐

 +          在正数前面显示加号( + )

 <sp>    在正数前面显示空格

 #          在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'

 0          显示的数字前面填充'0'而不是默认的空格

 %          '%%'输出一个单一的'%'

 (var)   映射变量(字典参数)

 m.n.   m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)


eg:结合格式化转换符号f与格式化转换指令m.n

pi=3.1415926
print('%8.2f'%pi)
print('%6.5f'%pi)
print('%6.8f'%pi)

--->>

     3.14          #以空白填充不足宽度
3.14159
3.14159260

eg:结合格式化转换符号f与格式化转换指令*

pi=3.1415926
print("pi=%.*f"%(3,pi))       #用*从后面的元组中读取字段宽度或精度
print("pi=%.*f"%(5,pi))
print("pi=%.*f"%(10,pi))

--->>

pi=3.142
pi=3.14159
pi=3.1415926000

eg:

pi=3.1415926
print('%010.3f'%pi)
print('%06.3f'%pi)

--->>

000003.142        #以0来填充不足的宽度
03.142        


eg:

pi=3.1415926
print('%-8.2f'%pi,end='')     #
左对齐
print('%+f'%pi)                    #显示正负号

--->>

3.14    +3.141593

注:此处的 end=''  (两个单引号)作用是使得print不换行       应用于python3.x

     eg:

             for i in range(1,4):
                   print(i)
             for i in range(1,4):
                   print(i,end='')

       --->>

               1
               2
               3
               123

另注:python2.x 使得print不换行:

    eg:

          for i in range(1,10):
               print i
          for i in range(1,10):
               print i,

       --->>

               1
               2
               1 2



字符串内建函数

capitalize()
将字符串的第一个字母变成大写,其他字母变小写。

eg:

x='abcde'
print(x.capitalize())
--->>Abcde

center(width, fillchar)
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

count(str, beg,end)
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

decode(encoding='UTF-8',errors='strict')
使用指定编码来解码字符串。默认编码为字符串编码。

encode(encoding='UTF-8',errors='strict')
以 encoding 指定的编码格式编码字符串,指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。如出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

endswith(suffix, beg, end)
判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。参数"start"与"end"为检索字符串的开始与结束位置。

expandtabs([n])
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。也可以指定别的数字 。


find(str, beg,end)
检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。


index(str, beg, end)
与find()方法一样,只不过如果str不在字符串中会报一个异常.

isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回 False。检测字符串是否由字母和数字组成。

isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。检测字符串是否只由字母组成。

isdigit()
如果字符串只包含数字则返回 True 否则返回 False。检测字符串是否只由数字组成。

islower()
检测字符串是否由小写字母组成。是返回 True,否则返回 False。

isnumeric()
如果字符串中只包含数字字符,则返回 True,否则返回 False。检测字符串是否只由数字组成。该方法是只针对unicode对象。

                    注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可。

isspace()
如果字符串中只包含空格,则返回 True,否则返回 False。检测字符串是否只由空格组成。

istitle()
如果字符串是标题化的(见 title())则返回 True,否则返回 False。检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。

isupper()
检测字符串中所有的字母是否都为大写。是返回 True,否则返回 False。

join(seq)
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。将序列中的元素以指定的字符连接生成一个新的字符串。

len(string)
返回字符串长度

ljust(width[, fillchar])
返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。fillchar 默认为空格。

lower()
转换字符串中所有大写字符为小写.

lstrip([chars])
截掉字符串左边的空格或指定字符。

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

max(str)
返回字符串 str 中最大的字母。

min(str)
返回字符串 str 中最小的字母。

replace(old, new [, max])
把字符串中的old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

rfind(str, beg,end)
返回字符串最后一次出现的位置,如果没有匹配项则返回-1。beg -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度len(string)


rindex( str, beg=0, end=len(string))
返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常。参数[beg:end]设置查找的区间。

rjust(width,[, fillchar])
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

rstrip([chars])
删除 string 字符串末尾的指定字符(默认为空格)

split(str=" ", num=string.count(str))
以 str 为分隔符(默认为空格)截取字符串,如果 num 有指定值,则仅截取 num (分割次数)个子字符串。返回分割后的字符串列表。

splitlines( num=string.count('\n'))
按照行分隔,返回一个包含各行作为元素的列表,num -- 分割行的次数。

startswith(str, beg=0,end=len(string))
检查字符串是否是以 str 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值(可有可无),则在指定范围内检查。

strip([chars])
用于移除字符串头尾指定的字符(默认为空格)。返回移除字符串头尾指定的字符生成的新字符串。

swapcase()
将字符串中大写转换为小写,小写转换为大写。返回大小写字母转换后生成的新字符串。

title()
返回"标题化"的字符串,即所有单词都是以大写开始,其余字母均为小写(见 istitle())

translate(table, deletechars="")
根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 deletechars 参数中。table -- 翻译表,翻译表是通过maketrans方法转换而来。返回翻译后的字符串。deletechars -- 字符串中要过滤的字符列表。


upper()
转换字符串中的小写字母为大写。返回小写字母转为大写字母的字符串。

zfill (width)
返回长度为 width 的字符串,原字符串右对齐,前面填充0

isdecimal()
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
方法只存在于unicode对象。注:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。