字符串扩展
- 字符串的三种定义方式
- 字符串拼接
- 字符串格式化
- 格式化的精度控制
- 字符串格式化方式2
- 对表达式进行格式化
学习目标
- 了解什么是表达式
- 掌握对表达式进行字符串格式化
字符串扩展-对表达式进行格式化
刚刚的演示,都是基于变量的。
可是,我想更加优雅些,少写点代码,直接对 “表达式” 进行格式化是否可行呢?
那么,我们先了解一下什么事表达式。
表达式:一条具有明确执行结果的代码语句
如:
1 + 1
、5 * 2
,就是表达式,因为有具体的结果,结果是一个数字
又或者,常见的变量定义:
name = "张三"
age = 11 + 11
等号右侧的都是表达式呢,因为它们有具体的结果,结果赋值给等号左侧的变量。
字符串扩展-对表达式进行格式化
那么,对于字符串格式化,能否直接格式化一个表达式呢?
可以,上代码:
print("1 * 1 的结果是:%d" % (1 * 1))
print(f"1 * 1 的结果是:{1 * 1}")
print("字符串在 Python 中的类型是:%s" % type('字符串'))
输出结果:
1 * 1 的结果是:1
1 * 1 的结果是:1
字符串在 Python 中的类型是:<class ‘str’>
在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码哦
总结:
- 表达式是什么?
表达式就是一个具有明确结果的代码语句,如
1 + 1
、type("字符串")
、3 * 5
在变量定义的时候,如age = 11 + 11
,等号右侧的就是表达式,也就是有具体的结果,将结果赋值给了等号左侧的变量
- 如何格式化表达式?
f"{表达式}"
“%s%d%f” %(表达式、表达式、表达式)
练习:股票计算小程序
定义如下变量:
name
,公司名stock_price
,当前股价stock_code
,股票代码stock_price_daily_growth_factor
,股票每日增长系数,浮点数类型,比如1.2
growth_days
,增长天数
计算,经过growth_days
天的增长后,股价达到了多少钱
使用字符串格式化输出,如果是浮点数,要求小数点精度 2 位数。
示例输出:
公司:小米,股票代码:01810,当前股价:19.99
每日增长系数是:1.2,经过7天的增长后,股价达到了:71.63
第一行要求使用f"{变量}"
的方式输出
第二行要求使用%
占位符的方式输出
红色字体都是变量,要使用格式化的方式拼接进去
提示:可以使用:当前股价 * 增长系数 ** 增长天数,用来计算最终股价哦
如,股价19.99 * 系数1.2 ** 7天 = 71.62778419199998,小数点现在精度 2 位后结果:71.63
自写:
name = "小米"
stock_price = 19.99
stock_code = "01810"
stock_price_daily_growth_factor = 1.2
growth_days = 7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日增长系数是:%s,经过 %d 天的增长后,股价达到了:%.2f" %(stock_price_daily_growth_factor, growth_days, stock_price * stock_price_daily_growth_factor ** growth_days))
输出结果:
公司:小米,股票代码:01810,当前股价:19.99
每日增长系数是:1.2,经过 7 天的增长后,股价达到了:71.63