高阶函数
函数实质是一个变量,fun -> 内存空间; func1 = fun; func1()
高阶函数:可以接受函数作为参数,或者把函数作为返回值的函数;
def fun1(var):
return var
def fun1(fun2):
…..
return fun2
In [1]: abs(-1)
Out[1]: 1
In [2]: a(-1)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-c976f5e459ea> in <module>()
----> 1 a(-1)
NameError: name 'a' is not defined
In [3]: a = abs
In [4]: a(-1)
Out[4]: 1
面向对象编程
- 面向过程编程:
- 面向对象编程(OOP) Object Oriented Programming
- 面向函数编程:(lisp)
(13+10)*2-10
a = 13+10
b = a*2
c = b-10
result = jian(multi(add(13,10),2),10)
CS:
role:警察,恐怖分子,人质
role1
name = “lee”
role = “警察”
waepon=”匕首”
life_value = 100
money=16000
role2
name = “harry”
role=”恐怖分子”
wepon=”AK47”
life_value = 100
money=16000
role3
name = “maria”
role=”人质”
life_value = 100
def shot(user):
pass
class Police:
def get_info(self,name,role,life_value,weapon,money):
self.name = name
self.role = name
def shot():
pass
def rescue():
pass
class Kongbu:
def shot():
pass
def kill():
pass
class Renzhi:
def get_info():
pass
gaowenrui = Police()
tanghao = Kongbu()
zhoumengyang = Renzhi()
什么是面向对象?
类 ===== 建房子的图纸 (三室一厅,两室一厅…….)
对象===== 实际建出来的房子(门牌号)
class ThreeRoom:
pass
seven_zero_one = ThreeRoom()
seven_zero_one.live()
seven_zero_one.clean()
面向对象的三个特性:封装,继承,多态