Python字符串及其简单格式化

1.字符串介绍

字符串是字符的序列表示,根据字符串的内容多少分为单行字符串和多行字符串。单行字符串可以由一对单引号(')或双引号(“)作为边界来表示,单引号和双引号作用相同,使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分。

多行字符串可以由一对三单引号('’’)或一对三双引号(“””)作为边界来表示,两者作用相同。实例如下所示:


>>> print("这是单行'字符串'")
这是单行'字符串'
>>> print('这是单行"字符串"')
这是单行"字符串"

#下段代码演示使用IDLE编辑器
print('''这是多行'字符串'的第一行
这是多行"字符串"的第二行'''
#输出结果为:
这是多行'字符串'的第一行
这是多行"字符串"的第二行

在Python中,如'、“、\等具有特殊意义的字符,可以使用转义的方法表示。反斜杠字符(\)是一个特殊字符,表示“转义”。该字符与相连的后面一个字符会一同构成一个新的含义。例如:\n表示换行符,\’表示是一个单引号,\”表示会双引号,\t表示制表符(键入一个Tab键)等等。

用法如下:


>>> print("这是一个\n换行符")
这是一个
换行符
>>> print("这是一个\\反斜杠")
这是一个\反斜杠
>>> print("这里急需要'单引号',也需要\"双引号\"")
这里急需要'单引号',也需要"双引号"
>>> print('这里急需要\'单引号\',也需要"双引号"')
这里急需要'单引号',也需要"双引号"

反斜杠还可以用来做续行符,将一行长代码分为几行书写:


print(  "假设这是很长的一行代码,",  "导致在一行内无法全部看完,",  "所以需要适当换行,",  "以增加代码的可读性。")

假设这是很长的一行代码, 导致在一行内无法全部看完, 所以需要适当换行, 以增加代码的可读性。

2.字符串的索引

对字符串的某个字符的检索称为索引,索引的使用方式如下:

<字符串或字符串变量>[序号]

字符串包括两种序号体系:正向递增序号和反向递减序号。


>>> a = "这是一个普通字符串序号有两种计发"
>>> a[2]
'一'
>>> a[-2]
'计'
#<字符串或字符串变量>[N:M],此种用法可以获得子字符串
#N,M参数为索引区间
>>> a[0:9]
'这是一个普通字符串'
>>> a[-7:-1]
'序号有两种计'
>>> a[7:-8]#可以混合使用
'符'
>>> a[10:-1]#混合使用时,是开区间,不包含两端
'号有两种计'
>>> a[:9]#如果缺失,默认是0
'这是一个普通字符串'

(例子中有错别字,但是改着好麻烦0.0)

字符串以Unicode编码存储,字符串的英文字符和中文字符都计作一个字符。在IDLE交互式环境默认输出单引号字符串形式,这与双引号形式的字符串没有任何区别。

3.format()方法的基本使用

Format()函数用于解决字符串和变量同时输出的问题,使用方式如下:

<模板字符串>.format(<以逗号分隔的参数>)

其中模板字符串以字符串和槽构成,槽用一对大括号({})表示,参数可以是可输出的任何参数,函数默认会按顺序输出,案例如下:


>>> a
'字符串'
>>> b
1
>>> c
'。'
>>> "这是{}个格式化后的{}{}".format(b,a,c)
'这是1个格式化后的字符串。'
#可以向槽中传入参数控制输出的顺序,默认第一个序号是0
>>> "这是{1}个格式化后的{0}{2}".format(a,b,c)
'这是1个格式化后的字符串。'

如果希望在模板字符串中直接输出大括号,使用{{表示{,}}表示},类似于\表示\。

4.format()方法的格式控制

可以通过格式控制标记来控制格式信息,用法如下:

     {<参数序号>:<格式控制标记>}

演示如下:


>>> a = "一个"
>>> b = "字符串"
>>> "{0:25}{1}".format(a,b)#设定a宽度为25,默认左对齐
'一个                       字符串'
>>> "{0:>25}{1}".format(a,b)#设定a宽度为25,右对齐
'                       一个字符串'
>>> "{0:~^25}{1}".format(a,b)#设定a宽度为25,居中对齐,并以~填充空白
'~~~~~~~~~~~一个~~~~~~~~~~~~字符串'
#格式控制标记可以是参数
>>> x = '~'
>>> y = '^'
>>> z = 25
>>> "{0:{2}{3}{4}}{1}".format(a,b,x,y,z)
'~~~~~~~~~~~一个~~~~~~~~~~~~字符串'
>>> "{0:,} 对比 {0}".format(c)#<,>开启数字的千位分隔符
'123,456,789 对比 123456789'
#<.精度>可用于数字和字符串,数字需要加f标识
>>> "{0:.4f} 对比 {1:.1}".format(c,b)
'123456789.0000 对比 字'

<类型>表示输出的整数和浮点数类型的格式规则。

对于整数类型,格式规则如下:

   b:输出整数的二进制形式

   c:输出整数对应的Unicode字符

   d:输出整数的十进制形式

   o:输出整数的八进制形式

   x:输出整数的小写十六进制形式

   X:输出整数的大写十六进制形式

使用如下:


>>> "{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(351)
'101011111,ş,351,537,15f,15F'

对于浮点数,输出格式包括以下四种:

   e:输出浮点数对应的小写字母e的指数形式

   E:输出浮点数对应的大写字母E的指数形式

   f:输出浮点数的标准浮点形式

   %:输出浮点数的百分比形式

使用如下


>>> "{0:e},{0:E},{0:f},{0:%}".format(1.25)
'1.250000e+00,1.250000E+00,1.250000,125.000000%'
>>> "{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(1.25)#保留两位小数
'1.25e+00,1.25E+00,1.25,125.00%'

这些就是字符串格式化的亿点点简单操作,建议掌握!

(0)

相关推荐

  • Python基础学习笔记(一)变量与数据类型

    https://m.toutiao.com/is/J3fN6eK/ Python是一门易学的面向对象的程序设计语言,可以轻易地完成界面.文件.封装等高阶需求,可移植性好,有非常多功能强大的库与包,如N ...

  • Python 基本数据类型介绍

    " 数据是业务的核心,任何编程语言都要支持各种数据类型.我们一起来学习一下 Python 支持的数据类型" Python 内置了 numeric.string 和 Boolean ...

  • Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  • Python字符串格式化输出 & 函数(3.12)

    Python字符串格式化输出 &amp; 函数(3.12)

  • f-string: 改进的 Python 字符串格式化语法

    f-strings 是 Python 3.6 引入的一种非常棒的字符串格式化方法. 相比其他格式方法,f-strings 更易读.更简洁.更少犯错,也更快. 在了解为什么以及如何使用 f-string ...

  • Python超简单格式化代码,仅需一行命令

    https://m.toutiao.com/is/J31M1tt/ 复制别人的代码进行使用的时候,最烦的就是看到编辑器上显示的各种红色的.橙色的提示线吧? 尤其是那些不遵守PEP8规则的代码,等号两边 ...

  • Python|字符串中第二大的数字

    问题描述给你一个混合字符串s,请你返回s中第二大的数字,如果不存在第二大的数字,请你返回-1.混合字符串由小写英文字母和数字组成.示例:输入:s = 'dfa12321afd'输出:2解决方案这是一道 ...

  • python字符串去除头尾

    在读文件时常常得到一些\n和引号之类的符号,可以使用字符串的成员函数strip()来去除. 1.去除首尾不需要的字符 a= '"This is test string"' # st ...

  • 当铛噹!Python字符串速查表来啦~

    <Python字符串速查表> 大家好,我是阳哥. 在Python的应用实践过程中,经常会遇到字符串使用的问题,阳哥 花了点时间,专门整理了 Python 关于 string 的知识,主要内 ...

  • 最近大火的15分钟出行圈怎么划分?用Python居然如此简单!

    "公园就在小区门口"."孩子可以就近上学"."步行就能到超市购物",相信你肯定希望生活在这样便捷的城市里面,这也是很多城市的规划目标和发展愿 ...

  • 用Python做一个简单的翻译工具

    编程本身是跟年龄无关的一件事,不论你现在是十四五岁,还是四五十岁,如果你热爱它,并且愿意持续投入其中,必定会有所收获. 本文就来自编程教室一位"小"读者的投稿(互助学习1群里的同学 ...