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

python格式字符_相当实用的Python格式字符串,格式化

格式化字符串(string formatting)是以指定

输出参数格式

相对位置

来“美化”字符串。

输出参数格式

包括数字的小数点位数、字符串大小写等,

相对位置

标注出被格式化的词是在句中的位置。比如:

print('It costs %.2f.' %(123.456))

It costs 123.46.

其中 %.2f 是 123.456 的输出参数格式,.2f 代表保留小数点两位,而 %.2f 所在的位置在 costs 后面,意思说将 123.456 变成 123.46 后插在 costs 后面。

格式化字符串有四种方法:

用 % 字符 (上面用的)

用 $ 字符

用 format() 函数

用 f-string

本文中主要以下面这句话举例子,即“在 2020 年 3 月 4 日,阿里巴巴的市值为 553789 百万美元”。

s = 'On 04 Mar 2020, the market cap of Alibaba is 553789 mio USD.'

首先定义市值(Mcap)和货币单位(curr)两个变量。

Mcap = 553789

curr = 'USD'

下面开始展示四种格式化的方法。

1. 用 % 字符格式化

print('The market cap of Alibaba is %d mio %s.' %(Mcap, curr))

The market cap of Alibaba is 553789 mio USD.

该方法的

核心范式

是:

步骤:

首先写句子;

再用 % 加小括号,里面列出要被格式化的变量名;

最后在句子一一对应变量名的地方写出 %x(d 代表数字,s 代表字符串,等等)。

2. 用 $ 字符格式化

from string import Template

info = dict(Mcap=Mcap, curr=curr)

print(Template('The market cap of Alibaba is $Mcap mio $curr.').substitute(info))

The market cap of Alibaba is 553789 mio USD.

该方法的

核心范式

是:

在此方法下,我们需要将变量名和变量值作为键和值,创建一个字典。

步骤:

首先要调用

Template

库函数并将句子传给它;

再把字典传入 substitute() 函数;

最后在句子一一对应变量名的地方写出 $k(k 代表字典中的键)。

3. 用 format 函数格式化

print('The market cap of Alibaba is {} mio {}.'.format(Mcap, curr))

The market cap of Alibaba is 553789 mio USD.

该方法的

核心范式

是:

步骤:

首先写句子;

再用 format() 函数,里面列出要被格式化的变量名;

最后在句子一一对应变量名的地方只用写出 {}。

4. 用 f-string 方法格式化

print(f'The market cap of Alibaba is {Mcap} mio {curr}.')

The market cap of Alibaba is 553789 mio USD.

该方法的

核心范式

是:

步骤:

首先写出句子,以

f'   '

F'   '

的形式;

然后在句子只用写出 {v},其中 v 是要被格式的变量。

当决定用哪种格式化时,通常我们评估它是否简单直观而且符合自己的习惯,比如

那些有 C 语言背景的使用者就偏向用 “%” 字符

那些偏好标准化的使用者就偏向用 "$" 字符

那些偏好个性化的使用者就偏向用 format 函数

相关文章:

  • htmlcss项目实战源码_基于TensorFlow深度学习人脸识别源码级项目实战
  • com口测试好坏_用modscan测试modbus协议离散仪表数据方法
  • mysql 统计连续重复值_mysql统计某列值连续出现次数小于五次的记录
  • mysql视图代码_MySQL视图简介与操作的介绍(附代码)
  • mysql密码存储过程_mysql设置用户名密码,存储过程,触发器
  • sqlserver mysql 乱码_SqlServer数据库中文乱码问题解决
  • oracle与mysql跨库连接_PostgreSQL+Oracle跨库连接实操
  • php mysql 域名空间_域名空间pipni.cz申请和使用攻略(MYSQL+PHP+CGI+mail+FTP)
  • mysql条件删除表中某些行数据_根据MySQL中的条件仅删除表中的某些行
  • mysql pdo rowcount_PDO rowCount()在MySQL上有效,但在SQL Server 2008 R...
  • mysql+数据库索引策略_mysql数据库索引
  • 企业组织架构mysql_[MySQL] 数据目录的组织架构
  • matlab一维搜索_工程优化设计与Matlab实现——一维搜索方法(黄金分割法)
  • mysql源码索引_Mysql中的索引
  • python3.5如何安装pip管理工具_python3.5.2安装pip管理工具
  • [Vue CLI 3] 配置解析之 css.extract
  • 30天自制操作系统-2
  • Angular2开发踩坑系列-生产环境编译
  • Brief introduction of how to 'Call, Apply and Bind'
  • Docker入门(二) - Dockerfile
  • nginx 负载服务器优化
  • Promise面试题2实现异步串行执行
  • python_bomb----数据类型总结
  • python3 使用 asyncio 代替线程
  • Sass 快速入门教程
  • Webpack 4 学习01(基础配置)
  • XML已死 ?
  • 测试开发系类之接口自动化测试
  • 关于for循环的简单归纳
  • 计算机在识别图像时“看到”了什么?
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # Maven错误Error executing Maven
  • #pragma multi_compile #pragma shader_feature
  • #Spring-boot高级
  • #WEB前端(HTML属性)
  • #在 README.md 中生成项目目录结构
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (理论篇)httpmoudle和httphandler一览
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (转)jQuery 基础
  • (转)创业家杂志:UCWEB天使第一步
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET Framework .NET Core与 .NET 的区别
  • .net FrameWork简介,数组,枚举
  • .NET Micro Framework初体验
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • /etc/sudoer文件配置简析
  • :如何用SQL脚本保存存储过程返回的结果集