python的字符串及其格式化输出
python字符串及其格式化输出
字符串定义
字符串或串(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”“not in”
成员运算符: 检查字符串中是否包含了某字符
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() 使用{}来代替%
{}是挖坑,format()里面是填的东西
name = 'jiuge'
age = 18
print('我是{}, 今年{}'.format(name, age))
输出结果
格式化 f-string
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}了")
输出结果