我在回答问题Python progression path - From apprentice to guru时看到了这条指令。
9。每次为他们提供Python课程时,都要惹恼你的小隔间。声称它可以“更好”地实现为字典和一些功能。拥抱函数式编程。
但我不明白这一点。这与函数式编程有什么关系?
答案 0 :(得分:3)
这意味着:
class A:
def __init__(this):
this.count = 0
def bump(this):
this.count += 1
a = A()
a.bump()
可以替换为:
def constructA():
return {'count':0}
def bumpA(anA):
anA['count'] += 1
a = constructA()
bumpA(a)
或更实用的风格,通过返回副本来避免副作用:
def bumpedA(anA):
newA = {'count': (anA['count'] + 1 )}
return newA
a = constructA()
a = bumpedA(a)
这是基本模式 - 您可以通过将方法放在字典本身(javascript样式)中来获取多态性,并且通常使用dicts和函数重构整个Python对象系统。
答案 1 :(得分:3)
这就是“Python进程路径”的原因在于它反映了一种认识,即Python类只是函数和dicts的语法糖,并且通过直接使用函数和dicts,需要更少的语言元素,从而使一个程序更“纯粹”。
当然这完全被误导了,这就是为什么它很有趣。或许我还没有达到启蒙?