返回顶部
首页 > 资讯 > 后端开发 > Python >为什么Python代码应是扁平与稀疏的
  • 315
分享到

为什么Python代码应是扁平与稀疏的

2023-06-16 14:06:53 315人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍“为什么python代码应是扁平与稀疏的”,在日常操作中,相信很多人在为什么Python代码应是扁平与稀疏的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么Python代码应是扁平与稀疏的

这篇文章主要介绍“为什么python代码应是扁平与稀疏的”,在日常操作中,相信很多人在为什么Python代码应是扁平与稀疏的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么Python代码应是扁平与稀疏的”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

扁平胜过嵌套Flat is better than nested

迫于对缩进的强硬要求,Python 对“扁平化”的需求显然远超它者。其余编程语言为了缓解对缩进的需求,通常会在嵌套结构里加入一种“作弊”的手段。为了理解这一点,不妨一同来看看 javascript

JavaScript 本质上是异步的,这意味着程序员用 JavaScript 写的代码会用到大量的回调函数。

a(function(resultsFromA) {  b(resultsFromA, function(resultsfromB) {    c(resultsFromC, function(resultsFromC) {      console.log(resultsFromC)   }  }}

忽略这段代码的具体内容,只去观察这段代码的形状与缩进带来一个最右边的点的方式。这种独特的“箭头”图形在我们扫看代码时格外扎眼,这种写法也因此被视作不可取,甚至得到了“回调地狱”的绰号。不过,在  JavaScript 中,这种反映嵌套关系的缩进可以通过“作弊”来回避。

a(function(resultsFromA) {b(resultsFromA,  function(resultsfromB) {c(resultsFromC,  function(resultsFromC) {    console.log(resultsFromC)}}}

Python 并没有提供这种作弊手段:每一级嵌套在代码中都如实的对应着一层缩进。因此,Python 深层的嵌套关系在视觉上也一定是深层嵌套的。这使得“回调地狱”的问题对于 Python 而言要比在 JavaScript 中严重得多:嵌套的回调函数必定带来缩进,而绝无使用花括号来“作弊”的可能。

这项挑战与 Python 之禅的指导原则相结合后,在我参与的库中催生出了一个优雅的解决方案。我们在 Twisted 框架里提出了 deferred 抽象,日后 JavaScript 中流行的 promise 抽象亦是受其启发而生。正是由于 Python 对整洁代码的坚守,方能推动 Python 开发者去发掘新的、强力的抽象。

future_value = future_result()future_value.addCallback(a)future_value.addCallback(b)future_value.addCallback(c)

(现代 JavaScript 程序员也许会觉得这段代码十分眼熟:promise 着实受到了 Twisted 里 deferred 抽象的深远影响。)

稀疏胜过密集Sparse is better than dense

最易降低代码密集程度的方法是引入嵌套。这种习惯也正是有关稀疏的原则要随着前一条提出的原因:在竭尽所能地减少嵌套之后,我们往往会遗留下密集的代码或数据结构。此处的密集,是指塞进过量信息的小段代码,它们会导致错误发生后的解析变得困难。

这种密集性唯有通过创造性的思考方可改善,此外别无捷径。Python 之禅并不为我们提供简单的解决方案,它只会指明改善代码的方向,而非提供“如何”去做的向导。

起身走走,泡个热水澡,抑或是闻闻花香。盘坐冥思,直至灵感袭来。当你终于得到启发,便是动身写代码之时。

到此,关于“为什么Python代码应是扁平与稀疏的”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 为什么Python代码应是扁平与稀疏的

本文链接: https://lsjlt.com/news/283799.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 为什么Python代码应是扁平与稀疏的
    这篇文章主要介绍“为什么Python代码应是扁平与稀疏的”,在日常操作中,相信很多人在为什么Python代码应是扁平与稀疏的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”为什么Python代码应是扁平与稀疏的...
    99+
    2023-06-16
  • python数组扁平化处理的方法是什么
    在Python中,可以使用递归函数或者使用内置的itertools.chain模块来对数组进行扁平化处理。 使用递归函数: de...
    99+
    2024-04-03
    Python
  • python求平均值的代码是什么
    python求平均值的代码是sum()和len()函数、numpy代码和statistics代码。1、sum()和len()函数,定义一个列表,使用sum()和len()函数计算平均值,输出结果即可;2、numpy库代码,导入numpy库,...
    99+
    2023-08-16
  • Python画海龟的代码是什么
    Python中使用turtle模块来绘制海龟的代码如下:```pythonimport turtle# 创建一个画布和一个海龟对象c...
    99+
    2023-08-09
    Python
  • Python代码中编译指的是什么
    这篇文章将为大家详细讲解有关Python代码中编译指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;...
    99+
    2023-06-14
  • 编写Python代码的方式是什么
    这篇文章主要讲解了“编写Python代码的方式是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“编写Python代码的方式是什么”吧!Python以句法简单、简洁而闻名,只需掌握简单的英语...
    99+
    2023-06-16
  • Python代码调试的方法是什么
    这篇文章主要介绍“Python代码调试的方法是什么”,在日常操作中,相信很多人在Python代码调试的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python代码调试的方法是什么”的疑惑有所帮助!...
    99+
    2023-06-02
  • python运行代码的方法是什么
    在运行Python代码时,可以通过以下几种方法: 在命令行中使用Python解释器运行代码:在命令行中输入python file...
    99+
    2024-03-04
    python
  • 编译C#代码的应用方法是什么
    这篇文章主要介绍“编译C#代码的应用方法是什么”,在日常操作中,相信很多人在编译C#代码的应用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”编译C#代码的应用方法是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-18
  • python中暂停代码的方法是什么
    本篇内容主要讲解“python中暂停代码的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中暂停代码的方法是什么”吧!我们知道,在 Python 里面可以使用time.sle...
    99+
    2023-06-16
  • Python源代码的编制技巧是什么
    本篇文章为大家展示了Python源代码的编制技巧是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面进行详细说明Python源代码的编程技巧,以及Python源代码的相关拼写规则,首先先让大家了...
    99+
    2023-06-17
  • python中的代码缩进规则是什么
    这篇文章主要介绍“python中的代码缩进规则是什么”,在日常操作中,相信很多人在python中的代码缩进规则是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中的代码缩进规则是什么”的疑惑有所...
    99+
    2023-07-02
  • Python代码便利并行的方法是什么
    这篇文章主要讲解了“Python代码便利并行的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python代码便利并行的方法是什么”吧!传统的例子简单搜索下"Python ...
    99+
    2023-06-16
  • Python中的EAFP和LBYL代码风格是什么
    本篇内容介绍了“Python中的EAFP和LBYL代码风格是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. EAFP 风格Pytho...
    99+
    2023-06-15
  • Google内部的Python代码风格是什么样的
    Google内部的Python代码风格是什么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、背景Python是谷歌主要使用的动态语言,本风格指导列举了使用Python...
    99+
    2023-06-15
  • 响应速度与同步性:Java 和 Unix 的平衡之道是什么?
    在现代计算机应用中,响应速度和同步性是非常重要的考虑因素。Java 和 Unix 是两个非常流行的平台,它们都有各自的优缺点。在这篇文章中,我们将探讨如何在 Java 和 Unix 中平衡响应速度和同步性。 Java 是一种面向对象的编程...
    99+
    2023-09-27
    unix 同步 响应
  • Python脚本文件LineCount.py的相关代码是什么
    本篇文章为大家展示了Python脚本文件LineCount.py的相关代码是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。因为最近在作的项目很特殊,所使用的语言是一个公司内部的IDE环境,而这个...
    99+
    2023-06-17
  • 微服务需求与代码管理的方法是什么
    这篇文章主要介绍“微服务需求与代码管理的方法是什么”,在日常操作中,相信很多人在微服务需求与代码管理的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微服务需求与代码...
    99+
    2024-04-02
  • java代码注释中的5要与3不要是什么
    这篇文章主要介绍“java代码注释中的5要与3不要是什么”,在日常操作中,相信很多人在java代码注释中的5要与3不要是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java代码注释中的5要与3不要是什么...
    99+
    2023-06-17
  • 为什么 Python 对象响应框架是 Python 开发者的最爱?
    Python 对象响应框架是 Python 开发者的最爱,这是因为它极大地简化了开发过程,并提供了强大的工具来处理应用程序中的数据。在本文中,我们将探讨为什么 Python 对象响应框架是如此受欢迎,以及如何使用它来构建应用程序。 什么是 ...
    99+
    2023-10-03
    对象 响应 框架
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作