字符串格式化的两种方式
1."%占位符" %变量
- %表示即将开始占位,占位符表示将变量变成占位符所表示的数据类型放入占位的地方,通常使用的占位符为 string int float 即%s %d %f;
name = "黑马程序员"
message = "学IT来:%s" % name
- 如果有多个变量需要占位,需要添加括号
name = "黑马程序员"
address = "辽宁省大连市大连民族大学金石滩校区"
print("我是" + name+",我的地址是"+address)
class_num = 57
avg_salary = 55555
message = "python大数据专业,大连民族大学%s,毕业平均工资%s" % (class_num,avg_salary)
print(message)
- 此类型字符格式化方式可以控制精度
控制精度的语法:m.n 例如 %5.2f %5d %.2f m和.n均可省略
如果 m 比数字本身宽度还小,那么 m 将不生效
.n除了对小数部分进行精度控制,还会对小数部分进行四舍五入计算,数据可能会失真
num_1 = 11
num_2 = 11.3456
print ("数字11的限制宽度为5,结果是:%5d"%num_1)
print ("数字11的限制宽度为1,结果是:%1d"%num_1)
print ("数字11.3456的限制宽度为7,小数精度为2,结果是:%7.2f"%num_2)
print ("数字11.3456不限制,小数精度为2,结果是:%.2f"%num_2)
2.f"{变量}{变量}"
- 特点:不理会类型,不做精度控制,可在对精度没有要求的情况下快速使用
B站黑马程序员 2022版python 字符串练习题
题目:股价计算小程序
name = "大连民族大学"
stock_price = 19.99
stock_code = "003032"
stock_price_daily_growth_factor = 1.2
growth_day = 7
result = stock_price *stock_price_daily_growth_factor**growth_day
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
message = "每日增长系数:%.2f,增长天数: %d,股价达到: %.2f " % (stock_price_daily_growth_factor,growth_day,result)
print(message)
运行结果