Python表示法?

lev*_*que 3 python naming-conventions notation

我刚刚开始使用Python,我正在考虑应该使用哪种表示法.我已经阅读了有关Python符号的PEP 8指南,我同意除了函数名称之外的大多数内容(我更喜欢使用mixedCase样式).

在C++中,我使用匈牙利表示法的修改版本,其中我不包含有关类型的信息,但仅包含变量的范围(例如,对于局部变量为lVariable,对于类的成员变量为mVariable,对于全局,为g) s表示静态,in表示函数的输入,输出表示函数的输出.)

我不知道这种符号样式是否有名称,但我想知道在Python中不使用这种符号样式是否是个好主意.我对Python并不是非常熟悉所以你们/ gals可能会看到我无法想象的问题.

我也有兴趣看看你对它的看法一般:)有些人可能会说这会让代码的可读性降低,但是我已经习惯了它并且没有这些标签的代码编写的代码对我来说不太可读.

Ste*_*osh 8

(几乎每个Python程序员都会说它会使代码的可读性降低,但我已经习惯了它,没有这些标签的代码编写的代码对我来说不太可读)

FTFY.

但是说真的,它会帮助你,但会混淆和惹恼其他尝试阅读代码的Python程序员.

由于Python本身的工作方式,这也没有必要.例如,你永远不需要你的"mVariable"形式,因为它在Python中显而易见:

class Example(object):
    def__init__(self):
        self.my_member_var = "Hello"

    def sample(self):
        print self.my_member_var

e = Example()
e.sample()
print e.my_member_var
Run Code Online (Sandbox Code Playgroud)

无论你如何访问成员变量(使用self.foomyinstance.foo),它总是清楚它是一个成员.

其他情况可能不那么明显,但如果你的代码不够简单,读者可以记住"'名称'变量是一个参数",在阅读函数时你可能做错了.

  • +1:放弃匈牙利表示法.额外的字母浪费了.只需将变量命名为其目的 - 忘记范围,类型,大小,重量,颜色或任何其他属性. (2认同)
  • Google的风格指南也推荐了这一点:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html (2认同)

Mar*_*nas 7

使用PEP-8.它在Python世界中几乎是通用的.

  • 拜托,请这样做.早期定义标准的全部意义在于人们会遵循它.你是否真的必须以自己的方式进行切线并命名?我自己做了这件事,但当IRC的人根本不看我的代码时很快就想到了. (3认同)