应用Python的动态/功能特性

时间:2012-01-03 06:44:11

标签: python dynamic functional-programming

我正在学习Python,它对我来说似乎过于动态。应用我理解的一些动态/功能特性。例如,您可以使用动态类型来编写对复数和实数表现相同的函数。但其他人的应用对我来说似乎很模糊。

所以这是我的问题。请举例说明以下Python功能实际有用的地方:

  • 缺乏私人变量。
  • 能够在运行时定义方法和变量。
  • 能够在运行时替换方法。

(也许其他一些功能会出现在这里 - 我还在学习。)

1 个答案:

答案 0 :(得分:1)

缺少私有变量:您不必浪费时间将每个变量声明为公共或私有。大多数东西通常都是公开的。如果您认为在没有getter / setter的情况下访问的直接变量会破坏事物,您可以使用以下划线命名它的约定:例如self._metadata。

能够在运行时定义方法和变量:这是非特定于python的关于动态语言的一般问题。一个重要的用例是函数指针和多态的替代方法。您可以动态地动态制作/更改内容,而不是随时编译您遇到的各种功能。

能够在运行时替换方法:这又主要用于多态和函数指针。您有一个正在运行的人力资源系统,并且有适当的政策您想在策略中进行一些更改。您可以只注入新策略并替换与策略相关的方法,而不是重新编译整个系统并重新启动系统。

您可能希望对这篇文章感兴趣:http://www.paulgraham.com/diff.html