iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >从PEP-8学习Python编码风格
  • 937
分享到

从PEP-8学习Python编码风格

风格PEPPython 2023-01-31 08:01:08 937人浏览 泡泡鱼

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

摘要

关于空行 类与顶级函数(top-level function)的定义之间应当空两行。 类中的方法之间应当空一行。 方法中的逻辑部分之间可以空一行。 关于原文件编码 python3中应当总是使用UTF-8。(python2使用ASCII

关于空行

  • 类与顶级函数(top-level function)的定义之间应当空两行。
  • 类中的方法之间应当空一行。
  • 方法中的逻辑部分之间可以空一行。

关于原文件编码

python3中应当总是使用UTF-8。(python2使用ASCII。)在使用了规定编码后不需要再声明文件编码。

关于命名风格

  • 模块使用小写字母和下划线,包名同样使用小写字母但不要使用下划线。
  • 类名使用驼峰命名法。
  • 异常的命名以Error结尾。
  • 函数名和方法名使用小写,用下划线分割单词。mixedCase只有在考虑兼容性的时候才使用。
  • 类方法的第一个参数总是cls,实例方法的第一个参数总是self
  • 变量命名同函数和方法。如果名字与保留字有冲突,在最后加_
  • 私有变量和方法在最前加_,此时外部无法访问,但子类可以访问。
  • 如果也不希望子类访问,可以以__开头。此时无法用ClassName.__var访问 。(但仍然可以通过ClassName._ClassName_a访问到。)

关于公有和私有接口

  • 默认情况下,以_开头的变量和方法被认为是私有的。
  • 可以使用__all__列表指定公开的接口。它会覆盖上一条规则。

关于Python中的下划线

Python中的下划线用法有这么几种:

  • a_:避免名字与保留字等的冲突。
  • _a:表示私有。只能在类内部和子类中访问。
  • __a:只能在类内部使用。
  • __a__:Python内魔法对象的命名。其他情况不要这样命名。

关于getter(accessor)和setter(mutator)

Python中不推荐使用类似于Java中的getXsetX。相反,应当直接对变量进行操作。
如果要操作的对象不能或不适合直接操作,可以使用内建的property方法自定义功能。property有两种用法:

class C:
    def __init__(self):
        self._x = None

    def getx(self):
        return self._x
    def setx(self, value):
        self._x = value
    def delx(self):
        del self._x
    x = property(getx, setx, delx, "I'm the 'x' property.")

或者:

class C:
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        return self._x

    @x.setter
    def x(self, value):
        self._x = value

    @x.deleter
    def x(self):
        del self._x

这样,当执行C.xC.x = valuedel C.x时就会分别调用这三个方法。

--结束END--

本文标题: 从PEP-8学习Python编码风格

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作