面向过程:核心是过程,工厂生产一样的流水线处理方式,机械式地处理,根据业务逻辑从上到下写垒代码,关注的是解决问题的过程。
优点:复杂问题流程化,进而简单化
缺点:可扩展性差
people1 = {‘name‘:‘bjo‘,‘age‘:19,‘sex‘:‘男‘}
print(people1[‘sex‘])
print(‘{} 在跳跃‘.format(people1[‘name‘]))
print(‘{} 正在跑步‘.format(people1[‘name‘]))
people2 = {‘name‘:‘anjo‘,‘age‘:18,‘sex‘:‘女‘}
print(people2[‘sex‘])
print(‘{} 在跳跃‘.format(people2[‘name‘]))
print(‘{} 正在跑步‘.format(people2[‘name‘]))
函数式编程
在维基百科中给出了详细的定义,函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。数学上的函数是从定义域集合A到值域集合B的映射关系。在编程上则是有返回值的子程序属于函数式编程。
def jump(name):
return ‘{} 在跳跃‘.format(name)
def runing(name):
return ‘{} 正在跑步‘.format(people1[‘name‘])
people1 = {‘name‘:‘bjo‘,‘age‘:19,‘sex‘:‘男‘}
print(people1[‘sex‘])
print(jump(people1[‘name‘]))
print(runing(people1[‘name‘]))
people2 = {‘name‘:‘anjo‘,‘age‘:18,‘sex‘:‘女‘}
print(people2[‘sex‘])
print(jump(people2[‘name‘]))
print(runing(people2[‘name‘]))
面向对象编程
面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程范型,同时也是一种程序开发的方法。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。
面向对象:核心就是对象,对象就是特征与属性的结合体,关注的是谁能解决问题,然后把问题交给谁,谁即对象,而不关注如何解决问题过程。
优点:可扩展性强
缺点:编程复杂度高
应该用场景:用户需求经常变化的场景 游戏、互联网应用、企业内部应用等
面向对象编程示例
def Human(name,age,sex):
def init(name,age, sex):
sch = {
‘name‘: name,
‘age‘: age,
‘sex‘: sex,
‘jump‘: jump,
‘running‘: running,
}
return sch
def jump(people):
print(‘%s 在跳跃‘ %people[‘name‘])
def running(people):
print(‘%s在跑步‘ %(people[‘name‘]))
return init(name,age,sex)
people1=Human(‘bjo‘,19,‘男‘)
print(people1)
print(people1[‘name‘])
people1[‘jump‘](people1)
people2=Human(‘anjo‘,18,‘女‘)
print(people2)
print(people2[‘name‘],people2[‘age‘],people2[‘sex‘])
people2[‘running‘](people2)
print(id(people1[‘jump‘]))
print(id(people2[‘jump‘]))