一、介绍
在我们以往的学习编程的过程当中,碰到的最多的两张编程方式或者说编程方法:面向过程和面向对象。其实不管是哪一种,其实都是编程的方法论而已。但是现在有一种更古老的编程方式:函数式编程,以它的不保存的状态,不修改变量等特性,重新进入我们的视野。
- 面向对象 --->类 ---->class
- 面向过程 --->过程--->def
- 函数式编程-->函数--->def
二、函数定义
我们上初中那会也学过函数,即:y=2x,说白了,这里面总共就两个变量x和y,x是自变量,y是因变量(因为x变而变),y是x的函数。自变量的取值范围,叫做这个函数的定义域。
说了这么多,我们还是来讲讲,编程中的函数定义吧!!!
1、函数定义:
def test(): "the funcation details" print("in the test funcation") return 0def #定义函数的关键字test #函数名() #定义形参,我这边没有定义。如果定义的话,可以写成:def test(x): 其中x就是形式参数"the funcation details" # 文档描述(非必要,但是强烈建议你为你的函数添加详细信息,方便别人阅读)print #泛指代码块或者程序逻辑处理return #定义返回值
2、过程定义:
#定义过程def test_2(): "the funcation details" print("in the test funcation")
注:从上面两个例子看出来,函数和过程,无非就是函数比过程多了一个return的返回值,其他的也没什么不一样。
3、两者比较:
#定义函数def test_1(): "the funcation details" print("in the test funcation") return 0#定义过程def test_2(): "the funcation details" print("in the test funcation")a = test_1()b = test_2()print(a)print(b)#输出in the test funcationin the test funcation#输出返回值0#没有return ,返回为空None
小结:不难看出,函数和过程其实在python中没有过多的界限,当有return时,则输出返回值,当没有return,则返回None
三、使用函数原因
至此、我们已经了解了函数,但是我们为啥要用函数啊,我觉的我们以前的那种写法挺好的呀!其实不然,我给使用函数总结 了两点好处:
- 代码重复利用
- 可扩展性
- 保持一致性
1、代码重复利用
我们平时写代码的时候,最讨厌的就是写重复代码,这个无疑是增加我们的工作量,所以代码重用性是非常有必要的。下面我们就举个简单的例子吧,使用函数和不使用函数的区别。
①优化前
#假设我们编写好了一个逻辑(功能),用来打印一个字符串print("高高最帅")#现在下面有2个函数,每个函数处理完了,都需要使用上面的逻辑,那么唯一的方法就是拷贝2次这样的逻辑def test_1(): "the funcation details" print("in the test1") print("高高最帅") def test_2(): "the funcation details" print("in the test2") print("高高最帅")
那么假设有n个函数,我们是不是也要拷贝n次呐?于是,我们就诞生了下面的方法
②优化后
def test(): print("高高最帅") def test_1(): "the funcation details" print("in the test1") test()def test_2(): "the funcation details" print("in the test2") test()
2、可扩展,代码保持一致性
#代码逻辑变了def test(): print("高高一直都很帅") def test_1(): "the funcation details" print("in the test1") test()def test_2(): "the funcation details" print("in the test2") test()
注:如果遇到代码逻辑变了,用以前拷贝n次的方法,那什么时候拷贝完啊,而且中间有遗漏怎么办,如果用了函数,我们只需要改这个函数的逻辑即可,不用改其他任何地方。