python字符串初识

83 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第9天,点击查看活动详情

\


大家好,我是芒果,一名非科班的在校大学生。对C/C++、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流

作者简介:



字符串

三种引号的区别

  • Python中单引号(')字符串和双引号(")字符串是等价的. 而不像有些编程语言(比如Linux Shell), 转义字符只在双引号中有效.

  • Python中使用 "原始字符串" 来完成这样的功能

  • 三引号('''/""")相比于前两种的区别是, 可以跨多行.

    • 三引号还可以作为文档字符串

理解字符串 "不可变"

  • 字符串实际上是不可变的对象. 你不能修改这个字符串, 只能创建一个新的字符串.
a = 'abcd'
a[0] ='z'   #TypeError: 'str' object does not support item assignmenta = 'z'+a[1:]
print(a)    #zbcd

字符串的标准类型操作符

  • ==, !=, <, <=, >, >= 这些操作符的行为前面已经提到过.
  • 需要记得字符串比较大小是按照字典序.
a = 'abc'
b = 'ab'
print(a != b)   #True
print(a < b)    #False  按照字典序比较

  • in/not in的规则和序列的规则一致.
a = 'abc'
print('a' in a) #True
print('z' in a) #False
  • 切片操作和序列规则一致
a = 'abcd'
print(a[1:2])   #b
print(a[:2])    #ab
print(a[1:])    #bcd
print(a[:])     #abcd
print(a[::2])   #ac

只适用于字符串的操作符

  • %: 格式化替换.
x = 1
print('x = %d' %x)  # x = 1

x = 10
y = 20
a = 'x = %d y = %d' %x #缺少参数:报错 TypeError: not enough arguments for format string#正解:
x = 10
y = 20
a = 'x = %d y = %d' %(x,y)

推荐写法:加前缀f

x = 10
y = 20
a = f'x = {x},y={y}'
print(a)    #x = 10,y=20

支持以下这些格式化字符串:


image-20220318092103605