【发布时间】:2013-06-21 22:09:02
【问题描述】:
我来自 C 背景,正在学习 Python。缺乏明确的类型安全令人不安,但我已经习惯了。面对动态语言的所有优势,缺乏内置的基于契约的编程(纯抽象类、接口)是需要习惯的。
但是,无法请求 const-cortectness 让我抓狂!为什么 Python 中没有常量?为什么不鼓励class-level constants?
【问题讨论】:
-
“Python 中没有常量的等价物,因为程序员通常被认为足够聪明,可以单独留下一个他想保持不变的值”。
-
因为 python 编码人员知道他们在做什么,而且还不够天真去修改应该是常量的变量(在 C 上下文中)
-
@Vorac,如果继续你的想法,那为什么 Python 中没有
int、double和char类型?.. 因为它是动态语言。如果你想要 Python 和 C 的“混合”,你可以看看 Cython 或 Go cython.org golang.org -
简短回答:这是一个观点问题。在另一个主题中,LISP 程序员曾经说过“内存分配太重要了,不能留给程序员”。并且“C 程序员认为内存分配太重要了,不能留给计算”(B. Stroustroup)。对于类型/常量的正确性,您可以说完全相同。
标签: python constants const-correctness