Python字符串类型及格式化
目录
字符串类型及其格式化
字符串类型的表示
- 字符串是字符的序列,表示有一对单引号,双引号或三引号构成。
>>> name = 'abc' >>> print(name) abc
- 其中单引号和双引号表示单行字符串,三引号表示多行字符串。
- 打印字符串的python程序,运行结果如下,注意其中的引号部分。
>>> print('这是“泉城”济南') 这是“泉城”济南 >>> print("这是'泉城'济南") 这是'泉城'济南 >>> print('''这是'泉城'济南, 一座美丽的城市。''') 这是'泉城'济南, 一座美丽的城市。
- input( )函数将用户输入的内容当作一个字符串类型,这是获得用户输入的常用方式。
- print( )函数可以直接打印字符串,这是输出字符串的常用方式。如:
>>> name = input("请输入名字: ") 请输入名字: Python语言 >>> print(name) Python语言 >>>
转义字符
- 反斜杠字符是一个特殊字符,在字符串中表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。
- 用\"可表示在字符串内部使用引号。
>>> print("这是\"泉城\"济南")
http://c.biancheng.net/view/2176.html
常用转义字符:
\n 换行符,将光标位置移到下一行开头。 \r 回车符,将光标位置移到本行开头。 \t 水平制表符,也即 Tab 键,一般相当于四个空格。 \a 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。 \b 退格(Backspace),将光标位置移到前一列。 \\ 反斜线 \' 单引号 \" 双引号 \ 在字符串行尾的续行符,即一行未完,转到下一行继续写。
字符串的索引
字符串是一个字符序列:字符串最左端位置标记为0,依次增加。
对字符串中某个字符的检索被称为索引。索引的使用方式如下:
<字符串或字符串变量>[序号]
- 字符串包括两种序号体系,正向递增序号和反向递减序号。
- 如果字符串长度为L,正向递增,序号以最左侧字符序号为零,向右依次递增,最右侧字符序号为L-1。反向递减虚号,以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L.
字符串以Unicode编码存储,字符串的英文字符和中文字符都算作1个字符。
>>>"青青子衿,悠悠我心。"[-5] '悠' >>>s = "青青子衿,悠悠我心。" >>>s[5] '悠'
字符串切片
- Python字符串也提供区间访问方式,采用[N:M]格式,表示字符串中从n到m不包含m的子字符串。如果表示中M或者N索引缺失,则表示字符串把开始或结束索引值设为默认值。
原创:
>>> s="世上有朵美丽的花,那是青春吐芳华" >>> s[4] '美' >>> s[-2] '芳' >>> s[4:6] '美丽' >>> s[-5:-3] '青春' >>> s[4:] '美丽的花,那是青春吐芳华' >>> s[:4] '世上有朵' >>> s[:] '世上有朵美丽的花,那是青春吐芳华'
练习:
1.从以下文字中提取引号中的话:
文学评论家张炯在评价毛泽东诗词时说过:“他的诗词创作和有关见解,不仅影响一代诗风,使中国的旧体诗词和新诗得以在当代并行不悖地存在和发展,而且作为一种诗美的范式,获得了世界上许多国家读者的欣赏。”
2.将以下字符串打印出来,并尝试提取其中第3个字段IMAGE ID
REPOSITORY\tTAG\tIMAGE ID\tCREATED\tSIZE
格式化输出
format()方法的基本使用
Python推荐使用.format()格式化方法,其使用方式如下:
<模板字符串>.format(<逗号分隔的参数>)
其中,模板字符串是一个由字符串和槽组成的字符串模板,用来控制字符串和变量的显示效果。
参考文档:https://www.runoob.com/python/att-string-format.html
槽用大括号({})表示,对应format()方法中逗号分隔的参数。
>>> print("{}曰:学而时习之,不亦说乎。".format("孔子")) 孔子曰:学而时习之,不亦说乎。
如果模板字符串有多个槽,且槽内没有指定序号,则按照槽出现的顺序分别对应.format()方法中的不同参数。
>>> print("{}曰:学而时习之,不亦{}。".format("孔子","说乎")) 孔子曰:学而时习之,不亦说乎。
常用的format()方法格式控制信息:
%c 字符 %s 字符串 %i或%d 有符号十进制整数 %o 八进制整数 %x 十六进制整数(小写) %X 十六进制整数(大写) %e 索引符号(小写e) %E 索引符号(大写E) %f 十进制浮点数(小写) %F 十进制浮点数(大写) %g 浮点数或指数(%f或%e) %G 浮点数或指数(%F或%E)
输出浮点数
print("{:.2f}".format(3.1415926))#输出小数点后2位
>>> print("{:+>30.2f}".format(12345678.9))
+++++++++++++++++++12345678.90
例:
>>> price =3.1415 >>> print("商品的价格为:{}".format(price)) 商品的价格为:3.1415 >>> print("商品的价格为:{:.2f}".format(price)) 商品的价格为:3.14 >>> price,sum=3.1415,98.5876 >>> print("商品的价格为:{:.2f},商品的总价为:{:.2f}".format(price,sum)) 商品的价格为:3.14,商品的总价为:98.59
输出字符串
print("{}曰:学而时习之,不亦{}。".format("孔子","说乎"))
print("{:.5s}".format("这是一个很长的字符串"))#输出字符串的前5位
居中并填充
>>> print("{:-^10}".format("PYTHON"))# 居中并填充 --PYTHON-- >>> print("{:-<10}".format("PYTHON")) PYTHON---- >>> print("{:->10}".format("PYTHON")) ----PYTHON
试一试,怎样输出下面的输出效果 ?
PYTHON+++++++++++++++++++ +++++++++PYTHON++++++++++ +++++++++++++++++++PYTHON
想一想:若希望程序输出如下内容,你会怎么做?
电脑Mac:IP地址为192.168.1.12,端口为8888
format()方法的详细使用
format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。
{<参数序号>: <格式控制标记>}
其中,格式控制标记用来控制参数显示时的格式 。
格式控制标记包括:<填充><对齐><宽度>,<.精度><类型>6个字段,这些字段都是可选的,可以组合使用,