`
hanyh
  • 浏览: 235244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python代码缩进的解决方案

阅读更多
这个不是Python的问题,不管你用那个编程语言都会碰到这个问题。也没有统一的解决方案。前面诸位提到的编辑器折叠代码的功能确实能部分解决问题,
但是从根子上讲,还是得靠合理地设计程序结构。我这里讲一些我自己的心得,供你作参考。

首先要合理使用Py的sub function
def outer():
   def inner():
       foobarblahdah

然后把很多nasty的东西放到inner里面。很多时候这种方法能解决很多问题。

此外,要合理使用generator。Py的generator是一个非常强大的工具,用得好,能让你的代码非常赏心悦目。比方说,很多时候,多层的
for while,就是要一环套一环地筛选对象。那么你完全可以这么写代码。

def func():
   criteria1 = lambda : foo
   criteria2 = lambda : bar
   criteria3 = lambda : blah
   criteria4 = lambda : dah

   def gen1(object_set, *criteria):
       for i in object_set:
           play_with_foo_bar_blah_dah
           yield i
   def gen2(object_set, *criteria):
       for i in object_set:
           another_sieve_processing_algo
           yield i

   for i in gen(list_of_objs, (dar, blah)):
       foobarblahdah

这个思路基本上就是在照抄twisted的defer了。criteria1,2,相当于单台机床,gen1,2,相当于排流水线,真正调用gen
(list_of_objs, (dar,blah))的时候,相当于投料正式生产。

此外,还要善于利用Py内置的shortcuts。比方dict的get,setdefault,以及or,and,if else赋值语句等等。

这个东西,说到底还是比较技巧性的。就是说,只要多读代码,retrospect自己的代码,或早或晚都能掌握的。
分享到:
评论

相关推荐

    常见的Python代码报错及解决方案1

    3. **代码缩进错误 (IndentationError)**:Python的代码块通过缩进来区分,如果缩进不一致,会导致IndentationError。保持一致的缩进(通常为4个空格)是避免这类错误的关键。 4. **输入法半角全角问题**:在编写...

    Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

    ### Python中的IndentationError: unindent does not match any outer indentation level错误详解及解决方案 #### 错误概述 在Python编程中,代码的缩进是非常重要的语法组成部分,它用于定义代码块的边界。当...

    Python技术使用注意事项及解决方案.docx

    - 使用Cython将Python代码编译成C语言,提升计算效率。 - 引入多进程或多线程处理(如multiprocessing、concurrent.futures模块),充分利用多核处理器资源,加速数据处理流程。 #### 五、妥善处理文件编码 1. **...

    python python python python python

    其代码清晰,易于阅读,遵循“缩进”而非大括号来组织代码块,这使得Python代码具有很高的可读性。 变量在Python中是动态类型的,这意味着你不需要预先声明变量的数据类型,Python会在运行时自动判断。Python提供了...

    python bug清除手册-代码书写规范与基本使用.pdf

    ### Python Bug清除手册知识点详解 #### 一、代码书写规范 **1.1 等号两侧空格的...通过以上总结,我们可以看到,遵循良好的编程实践、注意代码的规范性和了解常见的错误类型对于编写高质量的Python代码至关重要。

    python雪花代码直接用

    2. 设计模式:在软件开发中,设计模式是一种解决常见问题的标准化解决方案。雪花代码可能是指一种特定的模式,如单例模式(确保类只有一个实例)、工厂模式(创建对象的接口)或装饰器模式(动态地给对象添加额外...

    Fluent Python(最新版 原版 高清 带书签)

    书中会讨论如何有效地使用它们,特别是对迭代器和生成器的深度探讨,它们在处理大数据时能提供高效的解决方案。 3. **类与对象**:Python是面向对象的语言,作者详细解释了类的定义、继承、封装和多态等概念。此外...

    Python面试武功秘籍.pdf

    使用其他解释器如PyPy和Jython可以提高性能,因为它们可能更有效率地执行Python代码。对于需要高性能计算的应用程序,可以使用CPython。如果任务涉及大量I/O操作,可以使用asyncio模块来提高异步操作的能力。此外,...

    python 3.6.4

    - 在线社区如Stack Overflow、GitHub和Python论坛是寻找解决方案和交流经验的好地方,而PyPI(Python Package Index)则提供了海量的第三方库,方便扩展Python的功能。 5. **兼容性与升级**: - Python 3.6.4兼容...

    python上机实验报告总结.pdf

    实验中,学生遇到了一些问题并找到了解决方案。比如,初次使用Git进行版本控制时,可能对推送代码到远程仓库的操作不熟悉,通过查阅资料和向他人请教,最终掌握了Git的基本用法。在代码运行错误时,通过调试发现并...

    python项目实践.pdf

    2. Indentation error:Python 代码中的缩进错误是常见的问题,解决方法是检查代码中的缩进是否正确、使用合适的编辑器等。 3. 依赖关系管理:Python 项目中的依赖关系管理是一个复杂的问题,解决方法是使用 pip 和 ...

    Python问题:它由Python注释和python问题的解决方案组成

    3. **常见Python问题及解决方案** - **缩进错误**:Python依赖缩进来定义代码块,不正确的缩进会导致语法错误。确保使用相同数量的空格或制表符来缩进。 - **命名冲突**:避免使用Python内置函数名或关键字作为...

    intro-to-python:Python课程问题解决方案

    【Python课程问题解决方案】 学习Python的过程中,可能会遇到各种问题,以下是一些常见的问题及其解决方案: 1. **语法错误**:初学者常犯的错误之一是语法错误,如括号不匹配、缩进错误等。解决方法是仔细检查...

    python-python-python

    Python是一种高级、通用的编程语言,以其...无论是初学者还是经验丰富的开发者,都能在Python的世界里找到适合自己的工具和解决方案。学习并熟练掌握Python,不仅可以提升个人技能,也能为职业发展打开更多的可能性。

    CodingBatSolutions:Java和Python练习的解决方案论文

    **CodingBat解决方案:Java与Python练习的深度剖析** 在编程学习的过程中,实践是提升技能的关键。CodingBat作为一个在线平台,提供了丰富的Java和Python练习题目,旨在帮助初学者和有经验的程序员巩固基础知识,...

    Python-介绍(1).docx

    3. 功能强大:Python的类库覆盖了网络、文件处理、科学计算等多个领域,提供了一站式的解决方案。 4. 可扩展性:如果需要一段运行速度快的关键代码,可以使用C或C++编写,然后在Python程序中调用。 5. 开放源码:...

    python是个什么东西---python---python的httpsever

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能而闻名。它的设计哲学强调代码的可读性和简洁性,采用“缩进”而非大括号...无论你是初学者还是经验丰富的开发者,Python都能为你提供高效、灵活的解决方案。

    解决pycharm回车之后不能换行或不能缩进的问题

    #### 解决方案 要解决这个问题非常简单,只需重新切换回插入模式即可。具体操作如下: 1. **切换模式**:再次按下`Insert`键,即可将编辑器从覆盖模式切换回插入模式。此时光标应该恢复成默认的竖线形状。 2. **...

    python课件.ppt

    2. **Python基础语法**:学习如何编写有效的Python代码,包括变量、表达式、赋值、运算符等。 3. **Python数据类型**:涵盖Python中常见的数据类型,如整型、浮点型、字符串、布尔型以及复合数据类型如列表、元组、...

Global site tag (gtag.js) - Google Analytics