Python学习笔记(1)——字符串拼接、长字符串、原始字符串r、格式设置%

版权声明:本文为博主原创文章,未经允许不得转载。 https://blog.csdn.net/leaf_zizi/article/details/82258655

1. 单引号和双引号

字符串可以用单引号或双引号括起来,含义是一样的。但是当字符串中有引号时,可以将单引号和双引号结合使用,或使用反斜杠转义。

>>> "Hello world!"
'Hello world!'
>>> 'Hello world!'
'Hello world!'
>>> "Let's go."
"Let's go."
>>> 'Let\'s go'
"Let's go"

2. 拼接字符串

依次输入两个字符串,或者使用“+”拼接。

>>> 'Hello ''world'
'Hello world'
>>> 'Hello ' + 'world'
'Hello world'

3. 长字符串

要表示很长的字符串(需要换行)时,可以使用三个引号,或者在行尾处加上反斜杠。有一点区别,使用三个引号的长字符串会换行,而使用反斜杠的不换行。

>>> print('''这个字符串很长,
... 一行放不下,
... 它一共占了3行。''')
这个字符串很长,
一行放不下,
它一共占了3行。
>>> print('这个字符串很长,\
... 一行放不下,\
... 它一共占了3行。')
这个字符串很长,一行放不下,它一共占了3行。

4. 原始字符串

当字符串的内容是磁盘路径或正则表达式时,为了避免歧义我需要用反斜杠来转义反斜杠:

path = ‘C:\\python\\script\\test.py’

这时,原始字符串“r”就很有用了,因为他不以特殊方式处理反斜杠。

>>> path = r'C:\python\script\test.py'
>>> print(path)
C:\python\script\test.py

但是有一种特殊情况,如果字符串末尾是反斜杠,会报错!

为什么?因为在原始字符串中,反斜杠仍可对引号转义,也就是反斜杠后的引号被识别为字符串的内容, 因此如果反斜杠在末尾,那么字符串就没有结束的标志了。如果一定要以反斜杠结尾,可以这样做:

>>> path = r'C:\python\script' + '\\'
>>> print(path)
C:\python\script\

5. 设置字符串格式

假设我有一个测试算法错误率的方法,它需要打印结果,形如“本算法对100个样本做测试,分类错误15个,错误率为15%,算法错误率比较低。”,其中红色字体的值是取自变量的值,这时我们就需要用到字符串格式设置的方法。

  • 使用转换说明符%

%s——格式化为字符串;%d——格式化为整数;%.2f%%——两位小数的浮点数,后面加%显示为百分比形式

扫描二维码关注公众号,回复: 3164530 查看本文章
>>> sampleCount = 200
>>> errorCount = 15
>>> errorRate = errorCount / sampleCount
>>> result = ''
>>> if errorRate <= 0.1:
...     result = '很低'
... elif errorRate <= 0.2:
...     result = '较低'
... else:
...     result = '较高'
...     
>>> print('本算法对%d个样本做测试,分类错误%d个,错误率为%.2f%%,算法错误率%s。' % (
...     sampleCount, errorCount, errorRate*100, result))
本算法对200个样本做测试,分类错误15个,错误率为7.50%,算法错误率很低。
  • 使用模板字符串

>>> tmp1 = Template('本算法对$sCount个样本做测试,\
... 分类错误$eCount个,错误率为$eRate,算法错误率$r。')
>>> tmp1.substitute(sCount=sampleCount, eCount=errorCount, eRate='%.2f%%'%(errorRate*100), r=result)
'本算法对200个样本做测试,分类错误15个,错误率为7.50%,算法错误率很低。'
  • 使用format方法

>>> # 使用索引指定值
>>> '本算法对{0}个样本做测试,分类错误{1}个,错误率为{2:.2%},\
算法错误率{3}。'.format(sampleCount, errorCount, errorRate, result)
'本算法对200个样本做测试,分类错误15个,错误率为7.50%,算法错误率很低。'

>>> # 使用字段名指定值
>>>'本算法对{a}个样本做测试,分类错误{b}个,错误率为{c:.2%},\
算法错误率{d}。'.format(a=sampleCount, b=errorCount, c=errorRate, d=result)
'本算法对200个样本做测试,分类错误15个,错误率为7.50%,算法错误率很低。'

 

猜你喜欢

转载自blog.csdn.net/leaf_zizi/article/details/82258655
今日推荐