23

编程方法大致有三种:

——面向对象

——面向过程

——函数式编程

面向对象——类——class

面向过程——过程——def

函数式编程——函数——def

——函数的定义——

编程语言中函数定义:函数是逻辑结构化和过程化的一种编程方法。

python中函数定义方法:

def:是定义函数的关键字

test:函数名

():里面可以定义形参

''' ''':文档描述(非必要,但是强烈建议为你的函数增添描述信息)

x+=1:泛指代码块或程序处理器

return:定义返回值

现在呢,我们来区分一下函数和过程:

可以看出,过程就是没有返回值的函数

我们调用一下这个函数和过程:

调用函数func1,然后把值赋给了x,此时的x应该是0。调用过程func2,然后将其赋给y,过程没有返回值,我们认为此时的y应是空。

我们看一下结果是不是这样:

返回的是空,python给了一个None值。

那什么是过程呢?过程就是用def把你的逻辑封装起来。然后在你需要用到这个过程的时候,直接进行调用即可。

——函数的作用——

假设我们有一段逻辑,用来以追加的方式写日志。

假设我们现在有三个功能不同的函数,但是每个函数都需要追加一次日志,代码便是这样的:

我们将追加日志的部分写成函数,就不用每次都复制那一段代码,就可以在用到这个功能的时候,直接进行调用即可:

现在我们要求提高了,要求不仅要追加日志,还要添加上追加日志的时间。如果没有将追加日志部分写成函数,我们需要在function1、2、3这三个函数中,依次添加上修改时间。如果我们把追加日志部分写成函数,就可以直接在函数中修改。

代码如下:

所以,总结一下函数的三个作用:

——可扩展性

——保持一致性

——代码重用


——函数的返回值——

return语句的作用:结束函数,并且返回函数的返回值。

先来看一下结束函数这个作用:

语句执行到return的时候,整个函数就结束了,不会再往下执行了,所以不会打印“987654321”。

 我们接着打印一下这个函数的返回值:

那么,函数都能返回一些什么值呢?

举三个例子看一下:

#第一个函数test1,没有写返回值,这时候Python会隐式的赋一个空值(None)。

#第二个函数test2,写了返回值0,则返回0值。

#第三个函数test3,返回了一堆,包含了数字、字符串、列表、字典,但是在返回的时候,把他们作为一个元组来返回。

总结一下:

返回值数=0,返回None。

返回值数=1,返回object。

返回值数>1,返回tuple。

你可能感兴趣的:(23)