【Python Cookbook】S1E09 对切片命名

目录

问题

代码的可阅读性非常重要,如何增强切片中的可阅读性?本文将提供一种方案。

解决方案

假设有一些代码用来从字符串的固定位置取出具体的数据:

python 复制代码
record = "...100...513.25..."
cost = int(record[3:6]) * float(record[9:15])
print("cost is ", cost)

上述的代码可读性和可维护性很低,在一段时间后再回看这段代码,可能会发现自己都难理解这两个字段到底是什么。对于这种切片切分,不妨我们使用合理的命名,不仅便于后期维护,还可显著增加代码的可阅读性:

python 复制代码
shares = slice(3, 6)
price = slice(9, 15)
cost = int(record[shares]) * float(record[price])
print("cost is ", cost)

讨论

slice() 函数,不仅可以用于上述增强代码的可阅读性,其本质上会创建一个切片对象,我们可以在对象的实例上进行很多其他的操作。

假设有一个 slice 对象的实例 s ,我们可以分别通过 s.starts.stop 以及 s.step 属性来得到关于该对象的信息,例如:

python 复制代码
s = slice(3, 6, 2)
print("s.start =", s.start)
print("s.stop = ", s.stop)
print("s.step = ", s.step)

所以可以看出,slice 对象有三个参数,分别是 (start, stop, step) ,顾名思义,即开始的 index ,结束的 index 以及每一步的跨步大小是多少 step

相关推荐
dyyx1116 分钟前
如何从Python初学者进阶为专家?
jvm·数据库·python
二十雨辰11 分钟前
[python]-函数
开发语言·python
CryptoRzz15 分钟前
如何高效接入日本股市实时数据?StockTV API 对接实战指南
java·python·kafka·区块链·状态模式·百度小程序
小二·30 分钟前
Python Web 开发进阶实战(终章):从单体应用到 AI 原生生态 —— 45 篇技术演进全景与未来开发者生存指南
前端·人工智能·python
极客小云31 分钟前
【基于 PyQt6 的红外与可见光图像配准工具开发实战】
c语言·python·yolo·目标检测
0思必得03 小时前
[Web自动化] 处理爬虫异常
运维·爬虫·python·selenium·自动化·web自动化
喵手3 小时前
Python爬虫零基础入门【第九章:实战项目教学·第17节】内容指纹去重:URL 变体/重复正文的识别!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·内容指纹去重·url变体
喵手3 小时前
Python爬虫零基础入门【第五章:数据保存与入库·第1节】先学最通用:CSV/JSONL 保存(可复现、可分享)!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·数据保存与入库·csv/jsonl
子夜江寒3 小时前
OpenCV 学习:图像拼接与答题卡识别的实现
python·opencv·学习·计算机视觉
bjxiaxueliang3 小时前
一文掌握Python Flask:HTTP微服务开发从入门到部署
python·http·flask