python_函数操作_函数三大理论

匿名函数:匿名函数就是指不需要显示的指定函数用lambda表示,默认return结果

在Python中如果一个元素被创建了,但是并没有一个变量来接受这个元素,则解释器会自动释放这个函数的内存空间

比起def而言,虽然lambda不能进行复杂的逻辑计算,但是他比def更加的简便,但是需要配合别的函数使用,一般不单独使用

name = lambda x:x+1
a = name(1)
print(a)
#2

编程的方法论:面向过程,函数式编程,面向对象

函数式编程:函数式=编程语言自定义函数+数学意义的函数

用编程语言去实现数学函数,这种函数内对象是不变的,要么参数是函数,要么返回值是函数没有for和while,所以的循环用递归去实现,无变量的赋值(不用变量去保存状态,无赋值既不改变)

特点:

 1.不可变:不用变量保存状态,不修改变量

#即面向对象
a= 1
def foo():
    global a
    a +=1
    return a
foo()
print(a)
#函数式
n = 1
def nua(n):
    return n+1
res = nua(1)
print(res)
#2
#2

2.函数即变量

函数名可以当做一个变量传给一个函数

返回值也可以是函数名

def foo(n):
    print(n)
def bar(name):
    print("My name is %s"%name)
foo(bar('hai'))
#My name is hai
None

面向对象:面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。

一切都是对象

面向对象是一种对现实世界理解和抽象的方法,对做程序来说,就是让程序人员,用一种思维更好的看待万物,在编程中的本质。

举例:

将一栋房子 比作一个对象 【房子:对象】。

引用https://www.cnblogs.com/littlemo/p/4350848.html

面向过程:

面向过程就是面向解决问题的过程进行编程。仔细思考一下,我们在学习和工作中,当我们去实现某项功能或完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事情?(如果没有,建议以后试着步骤化解决问题)。而当我们按着我们罗列的步骤去解决问题时,实质上就是按照面向过程的思想去解决问题。我们罗列的步骤就是过程,按照步骤解决问题就是面向过程。

传统的面向过程的编程思想总结起来就八个字——自顶向下,逐步细化!实现步骤如下:

  1. 将要实现的功能描述为一个从开始到结束按部就班的连续的步骤(过程);
  2. 依次逐步完成这些步骤,如果某一步的难度较大,又可以将该步骤再次细化为若干个子步骤,以此类推,一直到结束得到想要的结果;
  3. 程序的主体是函数,一个函数就是一个封装起来的模块,可以实现一定的功能,各个子步骤往往就是通过各个函数来完成的,从而实现代码的重用和模块化编程!

高阶函数:把函数当做参数传给另外一个函数

.       返回值中包含函数

原文地址:https://www.cnblogs.com/Alom/p/10926783.html