今天在学习python时看到了一段代码甚是震惊. 大家都说python 是一门动态语言,刚开始我还没有很深刻的认识到什么叫动态语言,但是看到这段代码后终于明白了,废话不多说,上代码:
def maker(N):
def action(X):
return X ** N
return action这是一段很简单的代码, 看看运行后的结果:
def maker(N):
def action(X):
return X ** N
return action
f = maker(2)
f(3) #结果是9
g = maker(3)
g(3) #结果是27结果我写在后面了, 可以看到每次maker()后都产生了一个新的函数对象,这么简单的一段代码这实现了工厂函数的功能真是让我大开眼界.
PS:到现在为此,我对python的理解是:它类似于String中控制反转的道理,原来许多的工作是由程序员来完成,但现在由编译器来完成.连对象的类型也是由编译器来识别,所以大大简化了程序员的工作.
本文通过一段简洁的Python代码展示了动态语言的概念,特别是如何利用工厂函数实现复杂功能,让程序员的工作更加高效。从理解动态语言的定义出发,深入探讨Python如何通过动态生成函数来简化编程流程。
1383

被折叠的 条评论
为什么被折叠?



