XX学Python·字符串的格式化及输出
字符串的格式化及输出
-
格式化是字符串所具有的功能与print无关,哪怕不进行输出,也可进行字符串的格式化
-
格式:
-
单占位符:'要书写的内容占位符' % 变量名
-
多占位符: '要书写内容占位符1, 要书写内容占位符2,...' % (变量1, 变量2,...)
- %前的占位符数量要和%后的变量数量相匹配,一一对应否则会报错
-
-
注意:最外层使用单引号或双引号,内部就不能再使用最外层相同的引号
-
format函数格式化操作
例如:'我的名字是{},年龄{}岁'.format('小明', 12)
# 不同数据类型的变量,使用不同的占位符进行占位
# 字符串数据使用 %s(布尔值也是%s)
# 浮点型数据使用 %f,浮点型保留n位小数: %.nf
# 整型数据使用 %d,整型占用n位数据,不足位用0补齐 %0nd
例如
id = 12
name = 'xiaoming'
age = 18
height = 1.85
weight = 69.5
marriage = False
# 需求:1.身高保留两位小数,体重保留三位小数 2.学员的id共占用6位,不足位用0填充
# 使用ctrl + d 可以整行复制
print('学员的id是%d' % id)
print('学员的id是%d' % id, '姓名是%s' % name, '年龄是%d' % age, '身高是%.2f米' % height)
print('学员的id是%06d,姓名是%s,年龄是%d岁,身高是%.2f米,体重是%.2fkg,婚姻状况是%s' % (id, name, age, height, weight, marriage))
转义字符
-
在字符串中,一般情况下n或者t这类字母没有特殊含义,如果想给他赋予特殊含义,则需要使用\进行转译F
-
\n :换⾏符
-
\t :制表符,一个tab键的距离
-
%%:在字符串格式化拼接时要输出%
-
print(123, end='') # print定义时默认结尾时\n换行;若不想换行,结尾使用end='结束符'
print(456, end='*+')
print(789) # 输出结果为123456*+789
print('3 4\t5') # \t一个tab键的距离,输出结果为3 4 5
score = 100
print('我的成绩增加了%d%%' % score) # 在使用字符串格式化的时候,字符串中的%不能单独输出,要使用%%才能输出%
f-string格式化字符串
-
f-string是Python3.6后出现的格式化语法
-
格式:f'要输出的字符串{要拼接的变量}'
-
可以是大写F,也可以是小写f,
-
引号可以是单引号,也可以是双引号
-
{}里可填充任意数据,可以是变量,也可以是具体是数据,例如
print(f"{'你好'}")
结果为:你好 -
精度控制
- {浮点型变量:.nf} 保留n位小数,四舍五入
- {整型变量:0nd} 使整型占n位,不足位用0补齐,如果超出则原样显示,d可以省略
- %可以单独输出
id = 12 name = '小明' age = 18 height = 1.758 weight = 69.566 marriage = False rank_ratio = 98 print('学员的id是%06d,姓名是%s,年龄是%d岁,身高是%.2f米,体重是%.2fkg,婚姻状况是%s,排名占比是%d%%' % (id, name, age, height, weight, marriage, rank_ratio)) print(f'学员的id是{id:06d},姓名是{name},年龄是{age}岁,身高是{height:.2f}米,体重是{weight:.2f}kg,婚姻状况是{marriage},排名占比是{rank_ratio}%') #两print输出一样:学员的id是000012,姓名是小明,年龄是18岁,身高是1.76米,体重是69.57kg,婚姻状况是False,排名占比是98%
-
数据类型转换
- 数据类型转换是为了不同类型数据之间可以进行拼接或运算
- 格式:数据类型(要转化类型的变量或值)
- int和float类型直接可以随意转换
- float转换为int类型只保留整数部分
- int转换为float类型在末尾添加.0
- 如果数值型转换为str类型,可以随意转换
- 如果str类型转换为数值型
- float 必须保证str引号内部是浮点型数据或整型数据
- int 必须保证str引号内部是整型数据