python 格式化输出详解(占位符:%、format、f表达式)——下篇 实例篇

Python格式化输出(%用法和format用法) 整数的输出 %o——Oct八进制 %d——Dec十进制 %x——Hex十六进制 浮点数(小数)的输出 格式化输出 >>> awsl=2.333 >>> print('%f'%awsl) #默认保留6位小数 2.333000 >>> print('%.1f'%awsl) #取1位小数 2.3 >>> print('%e'%... 阅读详情

作者自我介绍:大爽歌, b站小UP主,直播编程+红警三,python1对1辅导老师。
上篇: python 格式化输出详解(占位符:%、format、f表达式)—— 理论篇
本文为下篇: python 格式化输出详解(占位符:%、format、f表达式)—— 实例篇

格式化输出内容为markdown表格格式 —— 使用f表达式

markdown表格语法如下

|  表头   | 表头  |
|  ----  | ----  |
| 单元格  | 单元格 |
| 单元格  | 单元格 | 

其表现效果则为

表头表头
单元格单元格
单元格单元格
详情描述:

有表头内容和单元格内容,均为列表,要输出成markdwon语法格式,同时希望输出内容本身能够尽可能对齐。

补充:中文对齐,尝试使用两格位置来对其,如果中文占位不是两格则对不起。

由于每个内容的对齐长度是存放在变量里的,所以这个场景最适合使用f表达式。

代码如下:

# require: python3.6 or above
def count_width(s, align_zh):
    s = str(s)

    count = 0
    for ch in s:
        if align_zh and u'\u4e00' <= ch <= u'\u9fff':  # 中文占两格
            count += 2
        else:
            count += 1

    return count


def print_to_markdwon_table(column, rows, align_zh = False):

    widths = []
    column_str = ""
    separate = "----"
    separate_str = ""
    # 计算每一列的宽度:最长字段
    for ci, cname  in enumerate(column):
        cw = count_width(cname, align_zh)
        for row in rows:
            item = row[ci]

            if count_width(item, align_zh) > cw:
                cw = count_width(item, align_zh)

        widths.append(cw)

        delete_count = count_width(cname, align_zh) - count_width(cname, False)

        column_str += f'|{cname:^{cw-delete_count+2}}'
        separate_str += f'|{separate:^{cw+2}}'

    column_str += "|"
    separate_str += "|"

    print(column_str)
    print(separate_str)

    for ri, row in enumerate(rows):
        row_str = ""
        for ci, item in enumerate(row):
            cw = widths[ci]

            delete_count = count_width(item, align_zh) - count_width(item, False)
            row_str += f'|{item:^{cw-delete_count+2}}'

        row_str += "|"
        print(row_str)

举例如下
example 1: 上篇中用到的表格

column = ["`conversion`", "说明" , "示例", "输出"]
rows = [
    ["`s`", "对结果调用`str()`方法" , '`f"His name is {name!s}."`', """`'His name is Ståle.'`"""],
    ["`r`", "对结果调用`repr()`方法" , '`f"His name is {name!r}."`', """`"His name is 'Ståle'."`"""],
    ["`a`", "对结果调用`ascii()`方法" , '`f"His name is {name!a}."`', """`"His name is 'St\\xe5le'."`"""],
]

print_to_markdwon_table(column, rows)

其输出内容为

| `conversion` |        说明        |             示例             |             输出              |
|     ----     |       ----       |            ----            |            ----             |
|     `s`      |  对结果调用`str()`方法  | `f"His name is {name!s}."` |   `'His name is Ståle.'`    |
|     `r`      | 对结果调用`repr()`方法  | `f"His name is {name!r}."` |  `"His name is 'Ståle'."`   |
|     `a`      | 对结果调用`ascii()`方法 | `f"His name is {name!a}."` | `"His name is 'St\xe5le'."` |

展示效果为:

conversion说明示例输出
s对结果调用str()方法f"His name is {name!s}."'His name is Ståle.'
r对结果调用repr()方法f"His name is {name!r}.""His name is 'Ståle'."
a对结果调用ascii()方法f"His name is {name!a}.""His name is 'St\xe5le'."

example 2: 数据库内容展示

column = ["id", "name", "sex", "age"]

rows = [
    [0, 'Li Hua', 'male', 20], 
    [1, 'Big Shuang', 'male', 24], 
    [2, 'Xiao Hong', 'female', 21], 
    [3, 'Xiao Hua', 'female', 19], 
    [4, 'Ellen', 'female', 20], 
    [5, 'Zhang Sirui', 'female', 22], 
    [6, 'Alex', 'male', 23], 
    [7, 'Zhao Wen', 'female', 24], 
    [8, 'Sun Wu', 'male', 18], 
    [9, 'Qian Kong', 'male', 22]
]

print_to_markdwon_table(column, rows)

其输出内容为

| id |    name     |  sex   | age |
|----|    ----     |  ----  |---- |
| 0  |   Li Hua    |  male  | 20  |
| 1  | Big Shuang  |  male  | 24  |
| 2  |  Xiao Hong  | female | 21  |
| 3  |  Xiao Hua   | female | 19  |
| 4  |    Ellen    | female | 20  |
| 5  | Zhang Sirui | female | 22  |
| 6  |    Alex     |  male  | 23  |
| 7  |  Zhao Wen   | female | 24  |
| 8  |   Sun Wu    |  male  | 18  |
| 9  |  Qian Kong  |  male  | 22  |

展示效果为:

idnamesexage
0Li Huamale20
1Big Shuangmale24
2Xiao Hongfemale21
3Xiao Huafemale19
4Ellenfemale20
5Zhang Siruifemale22
6Alexmale23
7Zhao Wenfemale24
8Sun Wumale18
9Qian Kongmale22
EEGLAB合辑 | 第一节 往EEGLAB导入数据 1、学习Matlab EEGLAB图形界面建立在强大的Matlab脚本语言之上。要使用EEGLAB构建宏命令和执行自定义和自动化处理的全部功能,就需要能够在Matlab中操纵EEGLAB数据结构。由于时间限制,这个wiki没有提供关于Matlab脚本语言的介绍。相反,用户需要在开始研究之前熟悉Matlab。 2、安装EEGLAB和教程文件 首先下载包含教程数据集的EEGLAB(30MB),附下载地址。 (https://sccn.ucsd.edu/eeglab/downloadtoolbox.php) 解压 阅读详情

相关推荐

Linux安装部署PostgreSQL详细步骤

Linux安装部署PostgreSQL详细步骤

2301_77356579的博客 9322

python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇

python 格式化输出详解(占位符:%、format) 0 - 占位符介绍 要实现字符串的拼接,使用占位符是的一种高效、常用的方式。 举个例子,下面是不使用占位符的一种写法,直接使用加号拼接字符串 name = "Li hua" age = 24 print("Hello "+name+", you are " + str(age) + " years old") 换成使用占位符的,可以写为 name = "Li hua" age = 24 print("Hello %s, you are %d yea

大爽老师的博客 21万+

华为2288H V5服务器断电后‘趴窝’?别慌,手把手教你用SmartKit+BMC修复工具搞定

本文详细介绍了华为2288H V5服务器在断电后无法启动的修复方法,通过SmartKit和BMC修复工具进行故障诊断与修复。文章提供了从工具获取、安装到具体修复流程的完整指南,帮助运维人员快速恢复服务器运行,并给出了后续加固与预防措施,确保服务器稳定运行。

weixin_30575517的博客 297

python中变量的作用

Python中有关于变量的知识....

大学生活与学习一站式解决方案. 934

three.js开发3D地图记录(二)

添加地图点击事件,点击区域,地图区域改变颜色并浮起来。

anwebDesigner的博客 1694

1、开启 Microsoft Power Automate 自动化之旅

本文介绍了 Microsoft Power Automate 的基本概念和其在信息时代自动化需求中的重要作用。Power Automate 是 Power Platform 的一部分,能够通过无代码/低代码的方式自动化处理重复性任务,例如邮件处理、文件复制等,从而提升工作效率。文章还详细讲解了 Power Automate 的核心术语、登录方式、创建第一个流程的操作步骤,并通过示例帮助用户快速上手。无论是终端用户还是管理员,都可以通过本文了解如何利用 Power Automate 实现业务流程自动化。

corn8的博客 169

Python·.·.print()函数格式化输出-超详解

全方位介绍Python中print函数格式化输出,包含%、format、eval、lambda匿名函数、round、decimal高精度等

u012018285的博客 1732

别再用Selenium被秒封了!2026最新反爬全突破+动态渲染实战(通过率99%)

做爬虫的同学,肯定都有过这样的经历:遇到一个纯前端渲染的网站,Requests抓包只能拿到一堆空的div标签,所有数据都是JS动态生成的。这时候你想到了Selenium,结果刚打开浏览器,网站直接跳出来一个"检测到机器人访问"的页面,或者直接返回403。我之前做一个跨境电商的爬虫项目,就踩了这个大坑。一开始用默认的Selenium ChromeDriver,10次请求有9次被封,通过率不到10%。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1385

76.F表达式详解

F表达式是用来优化ORM操作数据库的。 举个例子:我们做口罩的公司要将所有员工的薪水增加2000元,如果按照正常的流程,应该是先从数据库中提取所有的员工的工资到Python内存中,然后使用Python代码在员工工资的基础上增加2000元,最后在保存到数据库中,这里面涉及到的流程就是,首先从数据库中提取数据到Python内存中,然后在Python内存中做完运算,之后再保存到数据库中。示例代码如下: ...

zjy123078_zjy的博客 807

2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案

2026年江苏省职业院校技能大赛高职组“软件测试”赛项智能体辅助测试参考答案

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1334

免ROOT、不刷机、不依赖Xposed实现Android改机的思路

最近在一个项目中需要模拟多种Android设备的环境。无奈市面上的大部分改机工具,要么需要ROOT权限,要么依赖Xposed,甚至还得重启设备。为了实现更灵活、更干净的改机方式,我开始了漫长的技术探索,最终找到了免ROOT、不刷机、拒绝Xposed的实现路径。Android_IDIMEI手机序列号手机型号、品牌、CPU型号等硬件信息GPS位置、Wi-Fi参数、通话记录、短信等软硬件数据这些信息通常用于标识设备唯一性,而改机就是对这些标识数据进行模拟或篡改。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2668

全网最细 Python 格式化输出用法讲解

这篇文章主要介绍了全网最细 Python 格式化输出用法讲解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一、使用 print() 函数 在 Python 中,print() 函数支持格式化输出,与 C 语言的 printf 类似。 1. 格式化输出字符串和整数 【示例1】输出字符串 AmoXiang,并计算、输出它的字符长度 1 2 str1 = "%s.length = %d" % ("AmoXiang".

记录学习ing 1万+

嵌入式软考必备知识点:嵌入式系统开发中的重要概念和示例代码

在嵌入式软考中,有一些重要的知识点需要掌握,包括嵌入式系统的基本概念、编程语言、实时操作系统和硬件接口等。实时操作系统是一种专门设计用于嵌入式系统的操作系统,可以提供对任务调度、中断处理和资源管理等方面的支持。GPIO(通用输入输出):GPIO是嵌入式系统中常用的硬件接口,用于连接外部设备和嵌入式系统。以上是嵌入式软考中的一些必备知识点,包括嵌入式系统的基本概念、编程语言、实时操作系统和硬件接口。通过配置串口的波特率、数据位数和校验位等参数,可以实现与其他设备的可靠通信。一、嵌入式系统的基本概念。

PixeGO的博客 313

python格式化字符串的三种方法(%,format,f-string)

DAY 7. 格式化字符串 到目前为止,我所知道的,python格式化字符串有三种方法,第一是早期就有的%,其次是2.5之后的format(),还有就是3.6添加的f字符串调试 7.1 %格式化字符串 %格式化字符串是python最早的,也是能兼容所有版本的一种字符串格式化方法,在一些python早期的库中,建议使用%格式化方式,他会把字符串中的格式化符按顺序后面参数替换,格式是 "xxxxxx ...

面向对象的笔记 17万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

python 格式化输出详解(占位符:%、format、f表达式

要实现字符串的拼接,使用占位符是的一种高效、常用的方式。举个例子,下面是不使用占位符的一种写法,直接使用加号拼接字符串age = 24换成占位符,可以写成age = 24其中%s%d便是占位符,顾名思义,其作用就是替后面的变量站住这个位置字符串后面的%是一个特殊的操作符,该操作符会将后面的变量值,替换掉前面字符串中的占位符。对比两种写法,会发现使用占位符可以将字符串中用到变量集中在一起,方便查找和修改避免了反复使用引号,导致的引号对应识别困难能够更直接通顺的看出句子的内容。

Building intelligence, line by line. 1735

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python的打印函数print()中占位符%和format()使用以及f格式化字符串

一、print中占位符分为3种: 1、% 2、format() 3、f格式化字符串 二、举例说明: 1、%占位符: 常用的占位符: %s 字符串 %d 整数 %f 浮点数 代码演示: name = 'bill' age = 30 salary = 300000.01 print('my name is %s .'%name) print('my age is %d .'%age) print('my salary is %.2f .'%salary) # 浮点数可以设置保留几位小数位

蓝星部队的博客 2万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python的print格式化输出的format()方法和%两种方法

目录 一、format用法 二、%用法 一、format用法 相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’ https://www.cnblogs.com/fat39/p/7159881.html 二、%用法 1、整数的输出 %o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制 2、浮点数输出,一种是格式化输出,另一种是round()输出 (1)格式化输出

#姚大姚 的博客 2万+

Python快速入门专业版(三):print 格式化输出:% 占位符、format 方法与 f-string(谁更高效?)

格式化方式最佳适用场景不推荐场景版本兼容性%占位符维护Python 2.x遗留代码;简单的单变量替换场景多变量、复杂格式、表达式计算场景兼容所有Python版本format方法需要兼容Python 3.5及以下版本;复杂嵌套格式化追求简洁性和性能的新代码兼容Python 2.6+、3.0+f-stringPython 3.6+的新代码;需要表达式计算的场景;对性能和可读性要求高的场景需兼容Python 3.5及以下版本的代码仅兼容Python 3.6+,3.13+性能最佳。

Pocker_Spades_A的博客 1955

技巧 | 5000字超全解析Python三种格式化输出方式【% / format / f-string】

文章目录准备工作:1. %(占位符)1.1 混合1.2 进制数1.3 宽度、对齐、精度、填充1.3.1 数值型(默认右对齐)1.3.2 字符串1.4 正负号2. format格式化2.1 混合2.1.1 不设置位置2.1.2 设置位置2.1.3 单变量参数2.1.4 列表参数2.1.5 字典参数2.2 宽度、对齐、精度、填充2.3 千位分隔符3. f-string格式化3.1 单变量参数3.2 表达式参数3.3 函数参数3.4 宽度、对齐、精度、填充3.5 千位分隔符总结(优缺点)往期推荐 大家好,我是欧

Python当打之年 2686

【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)

自然语言处理涉及字符串构造、截取与格式化输出等基础操作,本文将介绍使用%、format()、f-string方法格式化字符串。

天地玄黄 魑魅魍魉 风花雪月 商角徵羽 2223

python格式化输出(%与format)总结

最近写代码时又双叒叕忘记格式化输出的写法与规则了,在网上找了一个格式化语法总结的比较好的博客,可惜是隔壁站的,特转载过来服务大众 目录%用法1、整数的输出2、浮点数输出3、字符串输出4、 其他format用法位置匹配格式转换进阶用法 %用法 1、整数的输出 %o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制 >>> print('%o' % 20) 24 >>> print('%d' % 20) 20 >>> print

qq_44754035的博客 3838

python 格式输出(%用法和format)

今天修改程序,比较纠结用哪个,搜资料整理一下。 参考网页:python基础_格式化输出(%用法和format用法) format()用法相对于基本格式%的用法,功能要强大很多。将字符串当成模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替% 1.%用法 (1)整数输出 %o -八进制; %d-十进制; %x-16进制 #correct print("the num...

buziran的专栏 6354

python中的格式化输出format和f

python的格式化输出中format和f-string的用法

gsgbgxp的博客 2342

Python 字符串格式化输出

字符串格式化是编程中一个常见的需求,它可以们将不同类型的数据(如数字、文本、日期等)插入到字符串中,以创建格式良好的输出。在 Python 中,有多种方法可以执行字符串格式化,包括 % 操作符格式化、 str.format() 方法格式化以及更现代的 f-字符串格式化。本文将介绍这些方法,详细讨论它们的用法,并提供丰富的示例代码。本文介绍了 Python 中字符串格式化的三种常见方法:旧式的 % 操作符格式化、 str.format() 方法格式化以及 f-字符串格式化。

m0_67847535的博客 2734

Python格式化输出控制print,format

转自:https://blog.youkuaiyun.com/huangfu77/article/details/54807835格式 描述%% 百分号标记 #就是输出一个%%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x 无符号整数(十六进制)%X 无符号整数(十六进制大写字符)%e 浮点数字(科学计数法)%E 浮点数字(科学计数法,用...

生命在于折腾! 2万+

Python格式化输出 print % format用法

目录 %用法 format用法 format的用法变形 拓展学习 %用法 1、整数的输出 %o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制 1 >>> print('%o' % 20) 2 24 3 >>> print('%d' % 20) 4 20 5 >>> print('%x' % 20) 6 14 2、浮点数输出 (1)格式化输出 %f ——保留小数点后面六位有效数字   %.3f,保留

dfly_zx的博客 3631
上一篇: python 格式化输出详解(占位符:%、format、f表达式)——上篇 理论篇
下一篇: b站个人直播年报【大爽歌作】 介绍与演示
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值