4.字符串扩展

字符串扩展

字符串的三种定义试式: 单引号定义法,双引号定义法,三引号定义法

# 单引号定义法
name = 'tang'
print(type(name), name)

# 双引号定义法
name = "tang"
print(type(name), name)

# 三引号定义法
name = """tang"""
print(type(name), name)
    <class 'str'> tang
    <class 'str'> tang
    <class 'str'> tang

字符串的引号嵌套

单引号定义法,可以内含双引号

双引号定义法,可以内含单引号

可以使用转义字符 \ 来将引号解除,变成普通字符串

name = '"tang"'
print(name)

name = "'tang'"
print(name)

name = "\"tang\""
print(name)
"tang"
'tang'
"tang"

字符串的拼接

可以通过+号将多个字符串字面量进行拼接一个字符串字面量

字面量和变量或变量和变理之间使用拼接会更灵活

字符串不能和非字符串类型进行拼接,例如不能和整数使用+号拼接

# 字面量之间的拼接
print("好好"+"学习")

# 字面量与变量之间拼接
a = "好好学习"
b = "天天向上"
print("拼接结果:",a+b)
好好学习
拼接结果: 好好学习天天向上

字符串格式化

变量过多,拼接太麻烦

通常字符串无法和数字或其他类型完成拼接,可使用占位拼接方式进行拼接

% 表示:我要占位

s 表示:将变量变成字符串放入占位的地方

d 表示:将内容转换成整数放入占位的地方

f 表示:将内容转换成浮点数放入占位的地方 %.2f 保留两位小数

# 通过占位的形式,完成拼接
my_name = "tang"
my_age = 18
my_height = 1.8
print("我叫%s,今年%s岁" % (my_name,my_age))
print("我叫%s,今年%d岁" % (my_name,my_age))
print("我叫%s,今年%d岁,身高%.2fm" % (my_name,my_age,my_height))
print(f"我叫{my_name},今年{my_age}岁")
print("我叫{},今年{}岁".format("tang",18))   # 推荐
我叫tang,今年18岁
我叫tang,今年18岁
我叫tang,今年18岁,身高1.80m
我叫tang,今年18岁
我叫tang,今年18岁

字符串格式化-数字精度控制

可以使用辅助符号"m和.n"来控制数据的宽度和精度

m 控制宽度,要求是数字,设置宽度小于数字自身时,不生效,大于本身宽度时,以空格补齐

.n 控制小数点精度,要求是数字,会进行小数的四舍五入

my_name = "tang"
my_age = 18
my_height = 1.8
print("我叫%s,今年%s岁" % (my_name,my_age))
print("我叫%s,今年%5d岁" % (my_name,my_age))
print("我叫%s,今年%3d岁,身高%8.3fm" % (my_name,my_age,my_height))
我叫tang,今年18岁
我叫tang,今年   18岁
我叫tang,今年 18岁,身高   1.800m

字符串格式化-快速写法

语法: f"内容{变量}" 的格式来快速格式化 format

不理会类型,不做精度控制,适合对精度没有要求的时候快速使用

my_name = "tang"
my_age = 18
my_height = 1.8
print(f"我叫{my_name},今年{my_age}岁,身高{my_height}m")
我叫tang,今年18岁,身高1.8m

字符串格式化-表达式的格式化

表达式: 一条具有明确执行结果的代码语句

my_name = "tang"
print(f"我叫{my_name},今年{10+8}岁,身高{18/10}m")
print("3*3等于:%d" % (3*3))
print("字符串在python里类型为:%s" % type("字符串"))
我叫tang,今年18岁,身高1.8m
3*3等于:9
字符串在python里类型为:

字符串格式化-示例

name = "python公司"
stock_price = 19.99
stock_code = 888888
stock_price_daily_growth_factor = 1.2
growth_days = 7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
stock_price_7days = (stock_price * (stock_price_daily_growth_factor ** growth_days))
print(stock_price_7days)
print("每日增长系数是:%.2f,经过%d天的增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor,growth_days,(stock_price * stock_price_daily_growth_factor ** growth_days)))
公司:python公司,股票代码:888888,当前股价:19.99
71.62778419199998
每日增长系数是:1.20,经过7天的增长后,股价达到了:71.63