字符串扩展
字符串的三种定义
单引号定义法
# 单引号定义法
name = '阿王'
print(name, type(name))
阿王 <class 'str'>
双引号定义法
# 双引号定义法
age = "15岁"
print(age, type(age))
15岁 <class 'str'>
三引号定义法
# 三引号定义法
like = """性别男
爱好女"""
print(like, type(like))
性别男
爱好女 <class 'str'>
三引号定义法支持换行操作,用变量接收就是字符串,不用变量接收就为注释
字符串的引号嵌套
单引号可以内含双引号
# 单引号内含双引号
name = '"阿王"'
print(name, type(name))
"阿王" <class 'str'>
双引号可以内含单引号
# 双引号内含单引号
name = "'阿王'"
print(name, type(name))
'阿王' <class 'str'>
转义符 \ 转译单引号或双引号
# 转译符转译引号
name = "\"阿王\""
age = '\'14岁\''
print(name, type(name))
"阿王" <class 'str'>
print(age, type(age))
'14岁' <class 'str'>
字符串的拼接
+ 号可以实现字符串之间的拼接,
无法和非字符串类型拼接
# 字面量与字面量拼接
print('阿王' + "14岁")
阿王14岁
# 字面量与变量拼接
age = '14岁'
print('阿王' + age)
阿王14岁
# 变量与变量拼接
name = '阿王'
age = '14岁'
print(name + age)
阿王14岁
字符串格式化拼接
%s 字符串占位符 - 将变量变成字符串放入该位置
%d 整数型占位符 - 将变量变成整数型放入该位置
%f 浮点型占位符 - 将变量变成浮点型放入该位置
# 单一占位符
work = '力工'
message = '阿王的工作是%s' % work
print(message)
阿王的工作是力工
# 多个占位符
work = '力工'
money = 1234.12
age = 14
message = '阿王的年纪是%s岁,阿王的工作是%s,月收入%s' % (age, work, money)
print(message)
阿王的年纪是14岁,阿王的工作是力工,月收入1234.120000
占位符 通过占位实现拼接,不在限制变量类型,
多个变量占位用括号括起来,且位置不能打乱
m.n 精度控制
m 控制数字的总体宽度,包括小数,
不够部分空格补齐,超出精度控制被忽略
n 控制小数精度,会进行四舍五入
#练习
num1 = 11
num2 = 22.145
print('限制num1的宽度为5,则num1为%5d' % num1)
限制num1的宽度为5,则num1为 11
print('限制num1的宽度为1,则num1为%1d' % num1)
限制num1的宽度为1,则num1为11
print('限制num1的宽度为4,小数精度为2,则num1为%4.2f' % num1)
限制num1的宽度为4,小数精度为2,则num1为11.00
print('限制num2的宽度为4,小数精度为2,则num2为%4.2f' % num2)
限制num2的宽度为4,小数精度为2,则num2为22.14
print('限制num2的宽度为7,小数精度为2,则num2为%7.2f' % num2)
限制num2的宽度为7,小数精度为2,则num2为 22.14
print('不限制num2的宽度,小数精度为4,则num2为%.4f' % num2)
不限制num2的宽度,小数精度为4,则num2为22.1450
字符串格式化2
f内容{变量} 快速格式化,
不理会类型,不控制精度
# 快速格式化
name = "阿王"
age = 14
money = 123.21
print(f"我叫{name},年龄{age},收入{money}")
我叫阿王,年龄14,收入123.21
表达式格式化
表达式;一条具有明确结果的语句
无需变量进行数据存储时,可以用表达式直接表达
# 表达式格式化
print(f"1+1 = {1+1}")
1+1 = 2
print(f"3/2 = {3/2}")
3/2 = 1.5
print("1+1 = %d" %(1+1))
1+1 = 2
print(f"3/2 = %.3f" %(3/2))
3/2 = 1.500
print(f"字符串类型为 = %s" %(type("字符串")))
字符串类型为 = <class 'str'>
练习
# 公司名字
name = "啊王股份"
# 当前股价
stock_price = 1.5
# 股票代码
stock_code = "1001010"
# 增长系数
stock_price_daily_growth_factor = 2.1
# 增长时间
growth_day = 5
# 通过f变量格式化输出
print(f"公司名字{name}, 股票代码{stock_code}, 当前股价{stock_price}")
# 通过%占位符格式输出
print("每日增长系数%.2f,经过%d天的增长,股价达到%.2f" %(stock_price_daily_growth_factor, growth_day, stock_price*stock_price_daily_growth_factor**growth_day))
公司名字啊王股份, 股票代码1001010, 当前股价1.5
每日增长系数2.10,经过5天的增长,股价达到61.26