标签:lex class col def python oba mic mamicode 返回值
编程的方法论:
1.面向过程
2.函数式:用数学意义的函数+编程语言定义的函数
3.面向对象
函数式编程的特点:
1.不可变数据,在函数内不使用global等关键字,避免修改数据。
2.第一轮对象,函数即变量,就是少定义或不定义变量名,直接把函数作为变量来传值,传参数。如:
#其它编程方法 def add(x): x=x+1 return x # 函数式编程 def add1(x): return x+1 #返回的就是一个函数
#其它编程方法 def add(x): x=x+1 return x res=add(10) print(res) #其它编程方法定义了中间变量 # 函数式编程 def add1(x): return x+1 #返回的就是一个函数。return可返回任意类型 print(add1(10)) #函数式编程不定义中间变量,一步到位
def foo(n): print(n) def bar(name): print(‘my name is %s‘%name) foo(bar("alex")) #bar(‘alex‘)无返回值,返回值为None
def foo(n): print(n) def bar(name): print(‘my name is %s‘%name) return foo bar(‘alex‘)(5)
3.尾调用-在函数的最后一步调用另外一个函数(最后一行不一定是最后一步)
递归函数,会不断保存每一层的信息,容易内存撑爆,使用尾调用,最后一步调用另一个函数,就可以避免这个问题。是吗?
标签:lex class col def python oba mic mamicode 返回值
原文地址:https://www.cnblogs.com/liaoyifu/p/14029358.html