对不起,我不是在这里责怪 Python。这只是对我所相信的是否正确的一种反思。作为两年的 Python 爱好者,我一直只写小应用程序,无论走到哪里,我都对 Python 赞不绝口。我最近有机会阅读 Django 的代码,并开始怀疑 Python 是否真的遵循其“可读性很重要”的理念。例如,
class A:
a = 10
b = "Madhu"
def somemethod(self, arg1):
self.c = 20.22
d = "some local variable"
# do something
....
...
def somemethod2 (self, arg2):
self.c = "Changed the variable"
# do something 2
...
self.c
在使用时创建实例变量的情况下(即在上面的代码段中),很难跟踪代码流。在阅读大量以这种方式编写的代码时,不可能看到定义了哪些实例变量。即使阅读一个只有 6-8 个方法且不超过 100-150 行代码的类,它也会变得非常令人沮丧。
我很想知道我对这段代码的阅读是否受到 C++/Java 风格的影响,因为大多数其他语言都遵循与它们相同的方法。有没有更流利地阅读这段代码的 Pythonic 方式?是什么让 Python 开发人员采用这种策略来牢记“可读性”?