字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
name = 'jiuge' print(name) print(type(name)) # str是字符串类型!
输出结果
三引号可以定义字符串(三单三双都可以),字符串包含了多行,就可以使用三引号
name3 = '''新的开始''' print(name3) print(type(name3))
输出结果
逗号会默认加空格输出,使用“+”要额外加空格。
# + 字符串拼接 a1 = 'hello' b1 = 'python' print(a1+b1) print(a1+' '+b1) print(a1, b1)
输出结果
注意空格不能重复输出,要用\t代替。
a1 = 'a' print(a1*3) print('$\t'*10) print('$ '*10)
输出结果
成员运算符: 检查字符串中是否包含了某字符
in : 如果包含的话,返回为True
not in : 如果不包含的话,返回为True
a1 = 'hello' print('he' in a1) # True print('ol' in a1) # False print('he' not in a1) # False , 跟in是相反 print('ol' in a1) print('ol' not in a1) # True
输出结果
python中下标是从0开始, 从右往左下标是从-1开始
name = 'python' print(name) print(name[0]) # 写法:字符串名[下标] print(name[5]) # 注意取值的时候不要超出下标范围 print(name[-1]) # 从右开始,第一个字符是n
输出结果
格式为[起始:结束:步长],包前不包后,默认从左往右取
步长 表示选取间隔, 不写步长,默认是1
步长的绝对值大大小决定切取数据的间隔,正负号决定切取方向
正数表示从左往右取值;负数表示从右往左取值
name = 'python' print(name[0:2]) # 下标为2之前的字符全都取到 print(name[2:4]) # th 从左往右取 print(name[-3:-5]) # 没取到 从右往左,h是-3, t是-4 print(name[-4:-2]) # 方向是从左往右 print(name[-3:-5:-1]) # 加个-1代表从右往左切取
输出结果
起始可以不填,默认为0,终点也可以不填,默认为字符串长度-1
name = '南瓜宝宝和海绵宝宝和天线宝宝' print(name[-4:]) # 下标为-4的位置之后全部切取 print(name[:]) print(name[:-4]) # 下标为-4的位置之前的全部切取 name = 'abcdef' print(name[::2]) print(name[::3]) st2 = 'hello world' print(st2[::-1])
输出结果
占位符 | 内容 |
---|---|
%s | 字符串 |
%d | 整形 |
%f | 浮点数 |
%x | 十六进制整数 |
name = 'jiuge' print('这是一个字符串:%s'% name) age = 18 print('老师叫%s, 年龄是%d' % (name, age)) a = 1.2345 print(a) print('%f' % a) # 默认后六位 print('%.2f' % a) # .2f默认显示两位小数
输出结果
{}是挖坑,format()里面是填的东西
name = 'jiuge' age = 18 print('我是{}, 今年{}'.format(name, age))
输出结果
f-string,亦称为格式化字符串常量(formatted string literals),主要目的是使格式化字符串的操作更加简便。
f-string在形式上是以 f 或 F 修饰符引领的字符串(f’xxx’或 F’xxx’),以大括号 {} 标明被替换的字段,注意{}里面和外面的引号不同,如print(f’我是{‘we’}老师, 今年{10}了’)会报错。
f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式。
name = "mary" age = 18 print(f'我是{name}老师, 今年{age}了') print(f'我是{"we"}老师, 今年{10}了') print(f"我是{'we'}老师, 今年{10}了")
输出结果