快速认识Python中的字符串

字符串本质是一种类似于列表的数据结构

1
2
3
4
str = 'Congratulation'
print(str[0])
print(str[1])
print(str[-1])

C
o
n

用单引号’、双引号’’、三引号’’’表示字符串,
也可以嵌套使用

1
2
str = "I'm Jack"
print(str)

I’m Jack

字符串中需要换行等需要用到转义字符:\

表示单引号: '
表示双引号: "
表示换行: \n
表示tab: \t
表示回车: \r
表示退格:\b
表示空格:直接就敲空格,不是所有字符都有转义的,空格没有转义字符

1
2
3
4
str = '请问你有多帅?\n我想爆裂的镜子已经给出了答案!\n'
str1 = '法朗士:\"读书是灵魂的壮游,\n\t\t随时可发现名山巨川、古迹名胜、\n\t\t深林幽谷、奇花异卉。\"'
print(str)
print(str1)

请问你有多帅?
我想爆裂的镜子已经给出了答案!

法朗士:”读书是灵魂的壮游,
           随时可发现名山巨川、古迹名胜、
                     深林幽谷、奇花异卉。”

用r前缀可忽略转义符,用于不需要转义直接打印\n\t的场景

1
2
str = r'天行健,君子以自强不息!\n\t\r\b'
print(str)

天行健,君子以自强不息!\n\t\r\b

使用+号进行字符串的拼接

1
2
3
4
5
str0 = '《周易》曰:\n'
str1 = ' 天行健,君子以自强不息;\n'
str2 = ' 地势坤,君子以厚德载物。'
str0 += str1 + str2
print(str0)

《周易》曰:
天行健,君子以自强不息;
地势坤,君子以厚德载物。

神奇的乘号*,快速生成相同字符

1
2
print('❤' * 9)
print('\n'.join([''.join([('520'[(x-y) % len('520')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0else' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))

❤❤❤❤❤❤❤❤❤
                  205205205             520520520
             20520520520520520    52052052052052052
           52052052052052052052052052052052052052052
          5205205205205205205205205205205205205205205
         520520520520520520520520520520520520520520520
         205205205205205205205205205205205205205205205
         052052052052052052052052052052052052052052052
         520520520520520520520520520520520520520520520
         205205205205205205205205205205205205205205205
         052052052052052052052052052052052052052052052
          2052052052052052052052052052052052052052052
           52052052052052052052052052052052052052052
           20520520520520520520520520520520520520520
             2052052052052052052052052052052052052
              52052052052052052052052052052052052
               052052052052052052052052052052052
                 05205205205205205205205205205
                   0520520520520520520520520
                     052052052052052052052
                        520520520520520
                           205205205
                              052
                               2

字符串的格式化

%s:字符格式化
%d:整型格式化
.format():万能格式化

1
2
print('世界上第一台通用计算机"%s"于%d年在美国宾夕法尼亚大学诞生。' % ('ENIAC', 1946))
print('世界上第一台通用计算机"{name}"于{year}年在美国宾夕法尼亚大学诞生。'.format(name='ENIAC', year=1946))

世界上第一台通用计算机”ENIAC”于1946年在美国宾夕法尼亚大学诞生。
世界上第一台通用计算机”ENIAC”于1946年在美国宾夕法尼亚大学诞生。