当前位置: 首页 > news >正文

4.14 python 字符串的拼接及格式化(.format)

4.14 字符串的拼接及格式化(.format)

4.14.1 字符串的拼接

同时输出文本信息和变量,可以用字符串拼接的方法。

【体验代码】

# input函数输入你的月工资,用变量存储
wage = input('你每月的工资是多少元?')

# input函数输入你每天的消费,新建变量存储
consume = input('你平均每天花费多少钱?')

# 2月有28天,计算28天后你还剩多少钱?
# input函数输入的内容是字符串
# wage consume两个变量都是字符串类型
# 用int或 float 将字符串转换成可以运算的数据类型
surplus = float(wage) - float(consume)*30

# 原样输出:28天后我还剩余?元。
# surplus 是浮点数类型
# '28天后我还剩余 元' 是字符串类型
# 用str 函数将surplus转换成字符串类型
print('28天后我还剩余'+str(surplus)+'元。')

【终端输出】

28天后我还剩余5400.0元。

input 函数获取的内容是字符串类型,浮点数、整数不能和字符串进行拼接,因此,需要用str 函数将变量转换成字符串类型。

4.14.2 字符串的格式化.format

同时输出文本信息和变量,我们用了字符串拼接的方法。
但我们发现输出带变量的一句话要先判断变量数据类型,然后统一数据类型,操作比较麻烦。
同时输出文本信息和变量,我们还可以用更便捷的方法:字符串格式化。
语法:字符串.format()

【体验代码】

# 原样输出:我是白敬亭,今年29岁。

print('我是白敬亭,今年29岁。')

print('我是{},今年{}岁。'.format('白敬亭',29))

print('我是{name},今年{age}岁。'.format(name='白敬亭',age=29))

【终端输出】
我是白敬亭,今年29岁。
我是白敬亭,今年29岁。
我是白敬亭,今年29岁。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oUPiyu4L-1645097430947)(…/img/16_字符串格式化语法.png)]

方法一:花括号{ } 中没有内容,format( )的参数会按照{ }的位置顺序分别替换。
方法二:花括号中有字段标志,例如{name},format( )按照字段标志替换。
字符串格式化的作用就是不用转换数据类型。

【体验代码】
原样输出:今天是2月17日,油价8.5元每升。

# 方法一
print('今天是{},油价{}元每升。'.format('2月17日',8.5))

# 方法二
print('今天是{data},油价{price}元每升。'.format(data='2月17日',price=8.5))

【终端输出】
今天是2月17日,油价8.5元每升。
今天是2月17日,油价8.5元每升。

2月17日数据类型为字符串,
8.5数据类型为浮点数,
用字符串格式化和字符串拼接不用转换数据类型。

在后期的代码编写中,很多数据是通过前面的代码运行后才能得到,这时候我们就需要用到字符串格式化。

课后练习

补全代码,计算圆形面积,并按要求输出。
提示:
1、圆形面积公式 s = π* r* r,π 取近似值 3.14;
2、输出的内容有换行。

# 给变量pi 赋值
pi = 3.14

# 输入圆形的半径
r = 

# 计算圆形的面积
s = 

'''
原样输出下面的内容:
这是一个半径为r米的圆,
它的面积是s平方米。
'''

相关文章:

  • ggplot画 ump 和tsne 从seurat中使用addmodule得到的umap 使用ggplot画图
  • 5.1 Python 算术运算符
  • ggplot画梯度颜色图 不同颜色 对seurat的细胞类型进行inflammatory 炎症打分 addmodule
  • cell annotation细胞注释 给已经做成seurat对象的细胞统一改换名字 换标签 加标签
  • 5.2 Python 赋值运算符
  • 从pdf中提取文本 数据清洗
  • 5.3 Python 比较运算符
  • seurat的 addmodule循环画图 等同于基因的叠加图 识别细胞类型 空转与单细胞得到的marker基因联合
  • 5.4 Python 逻辑运算符
  • 矽肺的 柱状图 比例图 bar图
  • 6.1 Python 单分支结构 if语句
  • 把subset_data的子集重新放到总群allmerge中找marker基因 findallmarkers
  • 6.2 python 多分支结构if...elif...else 语句
  • 6.3 Python if语句 条件判断嵌套
  • 细胞打分 addmodule addmodule对所有细胞进行循环评分
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • C++类中的特殊成员函数
  • C++入门教程(10):for 语句
  • DataBase in Android
  • Flex布局到底解决了什么问题
  • JSDuck 与 AngularJS 融合技巧
  • leetcode386. Lexicographical Numbers
  • php中curl和soap方式请求服务超时问题
  • rabbitmq延迟消息示例
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • win10下安装mysql5.7
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 解决iview多表头动态更改列元素发生的错误
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 一、python与pycharm的安装
  • 一道闭包题引发的思考
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • $L^p$ 调和函数恒为零
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (三分钟)速览传统边缘检测算子
  • (十八)三元表达式和列表解析
  • (轉貼) UML中文FAQ (OO) (UML)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .md即markdown文件的基本常用编写语法
  • .Net 6.0 处理跨域的方式
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net开发引用程序集提示没有强名称的解决办法
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法