一、占位符拼接
只是用+来达到拼接字符串的目的过于麻烦,那么这个时候我们可以通过如下语法,完成字符串和变量的快速拼接。
字符串格式化的语法:
"%占位符" %变量
实例:
#字符串格式化(占位型拼接)
name = "努力攀登的科技树"
message = "学python就看 %s" % name
print(message)
其中,%s
% 表示:我要占位
s 表示:将变量变成字符串放入占位的地方。
综合起来的意思:先占个位置,等一会儿有个变量过来,我把它变成字符串放到占位的地方。
*多个变量占位呢?
变量需要用括号括起来,并按照占位的顺序填入。
#数字类型
class_num = 57
avg_salary = 16781
message = "python大数据学科,北京%s期,毕业平均工资:%s" % (class_num,avg_salary)
print(message)
python中,支持非常多的数据类型占位,最常用是这三类
格式符号 | 转化 |
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
#字符串、整数、浮点数,三种不同类型变量的占位
name = "努力攀登的科技树"
set_up_year = 2021
stock_price = 19.99
message = "我是:%s,我成立于:%d,我今天的股价是:%f" % (name,set_up_year,stock_price)
print(message)
二、数字精度控制
有细心的同学在经过上面的实操后会发现,股价的输出小数部分有好几位,但是变量赋值却只有两位小数,这个时候就需要我们对数字精度进行控制。
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是数字,会进行小数的四舍五入。
实例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度
%6d
#字符串、整数、浮点数,三种不同类型变量的占位
name = "努力攀登的科技树"
set_up_year = 2021
stock_price = 19.99
message = "我是:%s,我成立于:%6d,我今天的股价是:%f" % (name,set_up_year,stock_price)
print(message)
%.2f:表示将宽度控制为5,将小数点精度设置为2
name = "努力攀登的科技树"
set_up_year = 2021
stock_price = 19.99
message = "我是:%s,我成立于:%6d,我今天的股价是:%.2f" % (name,set_up_year,stock_price)
print(message)
三、快速写法 f"内容{变量}"
语法:f"内容{变量}"
#快速写法
name = "努力攀登的科技树"
set_up_year = 2021
stock_price = 19.99
#f:format
print(f"我是{name},我创建于:{set_up_year},我今天的股价是:{stock_price}")
特点:
- 不理会类型
- 不做精度控制
适合对精度没有要求的时候快速使用
四、表达式的格式化
什么是表达式呢?
表达式:一条具有明确执行结果的代码语句
如:
2+2、5*10,就是表达式,有具体的结果,结果是一个数字
又或者,常见的变量定义:
name = "张三"
age = 11+12
等号右侧的都是表达式,有具体的结果,结果赋值给了等号左边的变量
#表达式的格式化
print("1*1的结果是:%d" % (1*1))
print(f"1*1的结果是:{1*1}")
print("字符串在python中的类型是:%s" % type('字符串'))