首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python|Google Python样式指南

2.1.2 优点 可以捕获容易忽视的错误, 例如输入错误, 使用未赋值的变量等. 2.1.3 缺点 pylint并不完美。要利用它,我们有时需要:围绕它写;禁止其警告;对其进行改进。...2.1.4 结论 确保pylint在代码上运行。 如果警告不适当,则禁止显示这些警告,这样就不会隐藏其他问题。...您可以pylint通过执行以下操作获取警告列表: pylint --list-msgs 要获取有关特定消息的更多信息,请使用: pylint --help-msg=C6409 相比较之前使用的pylint...2.4.1 定义 异常是一种打破常规的代码块控制流以处理错误或其他特殊情况的方法。 2.4.2 优点 正常操作代码的控制流程不会因错误处理代码而混乱。...for k, v in dict.iteritems(): ... 2.9 生成器 按需使用生成器. 2.9.1 定义 生成器函数返回一个迭代器,该迭代器在每次执行yield语句时都会生成一个值。

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python基础—让你规范Python语言的使用

    结论: 确保对你的代码运行pylint.抑制不准确的警告,以便能够将其他警告暴露出来。 你可以通过设置一个行注释来抑制告警....例如: dict = 'something awful' # Bad Idea... pylint: disable=redefined-builtin pylint警告是以一个数字编号(如 C0112...应该像下面这样导入: 异常 定义: 异常是一种跳出代码块的正常控制流来处理错误或者其它异常条件的方式. 优点: 正常操作代码的控制流不会和错误处理代码混在一起....优先考虑这些方法, 而不是那些返回列表的方法. 当然,这样遍历容器时,你将不能修改容器....生成器 定义: 所谓生成器函数, 就是每当它执行一次生成(yield)语句, 它就返回一个迭代器, 这个迭代器生成一个值. 生成值后, 生成器函数的运行状态将被挂起, 直到下一次生成.

    1.6K80

    续《表扫描与索引扫描返回的行数不一致》

    续《表扫描与索引扫描返回的行数不一致》 上篇文章主要介绍了如何从分析表得到的报错,以及trace中的信息,判断表返回的记录与索引返回记录不一致时的处理方式。...dname FROM   dept t1 MINUS SELECT /*+ index(t I_DEPT1) */ rowid, deptno, dname FROM   dept t; 确保查询语句的执行计划使用受影响的索引...导致这种问题的根本原因就是表和索引之间的不一致,可能是由于Oracle的defect产生,或者Oracle外部问题,例如IO丢失。硬件或OS子系统问题可能导致IO丢失写入。...如果出现IO丢失,包含表或索引的块修改操作就可能不会写入Oracle的数据文件中,引起键缺失。解决方法可以参考上一篇文章《表扫描与索引扫描返回的行数不一致》。...当出现表和索引之间不一致的情况,即表中的行不在索引中,删除并重建索引是常用的一种合适方法。

    81830

    一CDN多节点返回资源内容不一致的案例

    不管如何,只是作为加速,返回给客户的内容需要和源站保持一致,所有地区节点的用户访问统一资源得到的返回内容应该是一致。...但我们在实际的使用过程中,可能会遇到有的用户发生了不同节点访问,返回的内容是不一致的情况。 这是怎么回事呢, 我们来看下下面这个例子。 ...开启了过滤参数缓存也就是根路径缓存, 带参数和不带参数的缓存的都是一样的,访问的时候也是带参数和不带参数访问的都是一样的。 那这里为什么会出现多节点缓存不一致的情况呢?...这样我们就看到,不同的节点返回的数据不一致了。 终端用户访问带一个已经建立缓存的节点, 无论是带参数还是不带参数, 都会直接命中缓存(因为这个域名开启了过滤参数缓存)。...如此就不会出现不符合预期的情况了 解决方案 对于源站设置了根据参数吐出不同的资源的情况下, 建议客户 关闭"过滤缓存"功能,防止不同的节点缓存的数据不一致。

    2.2K81

    3大利器推荐,帮你写出规范漂亮的python代码

    image.png 比如上面这段代码,foo函数仅在满足条件的情况下有返回值、bar函数仅在不满足条件的情况下有返回值,这样的代码兼容性会比较差,正确的做法是保持代码一致性,函数中的返回语句都应该返回一个表达式...,或者都不返回: image.png 关于PEP8就简单介绍到这里,有兴趣的朋友可以自行查阅文档。...建议结合 pylint --help 的提示进行 学习和检索。介绍完pylint的基本情况,我们来结合一个实例进行详细说明。...C——违反代码风格标准; R——代码结构较差; W——关于细节的警告; E——代码中存在错误; F——导致Pylint无法继续运行的错误。...但是仍然有很多问题,这里就要注意了,PEP8并不是要百分百遵守的,当遵循PEP 8规范会使代码可读性变差、会跟周围代码风格不一致的时候,还是要遵循自己的判断。

    1.1K30

    Sass的@import过期警告怎么处理?有什么坑?

    Sass用的少之又少,基本只在老项目中使用。 今天改个老项目,启动的时候控制台提示有警告。 本着有警告就处理的原则,没用过也得啃一下这块硬骨头。...警告信息如下: Deprecation Warning: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0...官方提供的地址显示,从Sass 1.80.0开始弃用。 所以,方案有两个:1. 版本回退到1.80.0之前;2. 修改为新语法。 新语法的两种情况 新语法也很简单,就是把@import换成@use。.../variables.scss" as variable; 然后变量的地方增加命名空间前缀: @each $key, $value in variable....key} { align-items: $value; } } 如果没有引用变量,则可以直接修改为: @use '@/assets/scss/index.scss'; 重启项目,就不会提示警告了

    3.1K10

    socket读写返回值的处理

    如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲区读取或者写入的字节数目 2当read()函数返回值为0时,表示对端已经关闭了...直接忽略;如果是阻塞的socket,一般是读写操作超时了,还未返回。...不然返回了-1,你也不知道是socket连接是真的断开了,还是正常的网络抖动。一般情况下,阻塞的socket返回了-1,都需要关闭重新连接。...4.另外,对于非阻塞的connect,可能返回-1.这时需要判断errno,如果 errno == EINPROGRESS,表示正在处理中,否则表示连接出错了,需要关闭重连。...ET模式下,socket需要read或者write到返回-1为止。对于非阻塞的socket没有问题,但是如果是阻塞的socket,正如第三条中所说的,只有超时才会返回。

    3.3K50

    关于Python语言规范你需要知道的一些小tips

    1、对你的代码运行pylint 定义: pylint是一个在Python源代码中查找bug的工具....结论: 确保对你的代码运行pylint.抑制不准确的警告,以便能够将其他警告暴露出来。 你可以通过设置一个行注释来抑制告警....例如: dict = 'something awful' # Bad Idea... pylint: disable=redefined-builtin pylint警告是以一个数字编号(如 C0112...for line in afile.readlines(): ... 9、按需使用生成器 定义: 所谓生成器函数, 就是每当它执行一次生成(yield)语句, 它就返回一个迭代器, 这个迭代器生成一个值...处理整数时, 使用隐式false可能会得不偿失(即不小心将None当做0来处理). 你可以将一个已知是整型(且不是len()的返回结果)的值与0比较.

    1.7K60

    Elasticsearch:执行同样的查询语句多次结果不一致?!

    Elasticsearch:执行同样的查询语句多次结果不一致?!...背景 最近有用户让帮忙看一下一个诡异的问题,同样的一个查询语句,执行多次查询结果竟然不一致,查询结果中hits.total一会是30,一会为15,这是为什么呢?...(replica)的存在,主分片和副本分片可能不一致,导致最终在主分片和副本分片上计算得到的得分不同,而导致最终的查询结果不一致。...以上实战验证了如果主分片和副本分片不一致的情况下,文档的分值会不同,最终影响到查询结果。...解决方式就是在查询时指定preference, 可以指定为_primary、_replica或者其它自定义的值,保证同样的查询语句会请求到相同的分片。

    9.9K50

    Google 内部的 Python 代码风格指南

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...pylint的diable注释使用(如# pylint: disable=invalid-name) 不要使用反斜杠连接,除非对于需要三层或以上的上下文管理器with语句 利用Python的implicit

    1.2K10

    快收藏!!Google内部Python代码风格指南(中文版)

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...pylint的diable注释使用(如# pylint: disable=invalid-name) 不要使用反斜杠连接,除非对于需要三层或以上的上下文管理器with语句 利用Python的implicit

    1.2K30

    Google 内部的 Python 代码风格指南

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...pylint的diable注释使用(如# pylint: disable=invalid-name) 不要使用反斜杠连接,除非对于需要三层或以上的上下文管理器with语句 利用Python的implicit

    1.6K30

    Google 内部的 Python 代码风格指南(译)

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...当返回值类型不能和最后一个参数放入同一行,比较好的处理方式是将参数分行并缩进4个空格,右括号和返回值类型换行并和def对齐. def my_method( self, other_arg: Optional

    1.7K10

    Google 内部的 Python 代码风格指南

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...当返回值类型不能和最后一个参数放入同一行,比较好的处理方式是将参数分行并缩进4个空格,右括号和返回值类型换行并和def对齐. def my_method(     self, other_arg: Optional

    1.6K20

    Google Python代码风格指南

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...pylint的diable注释使用(如# pylint: disable=invalid-name) 不要使用反斜杠连接,除非对于需要三层或以上的上下文管理器with语句 利用Python的implicit

    1.3K20

    谷歌Python代码风格指南,翻译版来了!

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...pylint的diable注释使用(如# pylint: disable=invalid-name) 不要使用反斜杠连接,除非对于需要三层或以上的上下文管理器with语句 利用Python的implicit

    1.5K20

    Python 代码风格指南谷歌版

    代码中发现bug和代码风格问题的工具,,pylint查找那些常在非动态语言(例如C或C++)编译器中捕获的问题.由于Python是动态语言,一些警告可能不正确,不过应该非常少有错误警告. 2.1.2 Pros...优化工具 2.1.4 Decision(以下都译为建议) 确保对代码应用pylint 如果一些警告是不合适的,就抑制这些警告,这是为了让其他警告不会被隐藏.为了压制警告,可以设置行级别的注释: dict...可以通过下述方式来获得pylint警告列表: pylint --list-msgs 用下述方式来获取某个特定消息的更多具体信息: pylint --help-msg=C6409 优先使用pylint...正常代码的控制流时不会被错误处理代码影响的.异常处理同样允许在某些情况下,控制流跳过多段代码,例如在某一步从N个嵌入函数返回结果而非强行延续错误代码. 2.4.3 Cons 可能会让控制流变的难于理解...pylint的diable注释使用(如# pylint: disable=invalid-name) 不要使用反斜杠连接,除非对于需要三层或以上的上下文管理器with语句 利用Python的implicit

    1.2K20
    领券