十、python基础:初步了解函数(适合小白同学)

十、python基础:初步了解函数(适合小白同学)

1、为什么要用函数?

我们学编程有个很好的用处就是代码能自动帮我们处理很多重复出现的问题或需求。而代码在没有封装成函数之前,它通常会是一大片的代码,几十行几百行都很常见。试想一下如果我们每次使用别人封装的模块时,都要把全部代码都复制过来,改这里改那里,最后改成能实现我们需求的代码。那用起来就相当不方便了,并且有点重复造轮子的意思了。

当我们知道在实现一个需求时,某些功能或者处理的细节它是会重复多次出现的,只是有些地方需要用户自己修改。那么我们可以考虑把它封装成函数,把那些需要用户修改的东西,作为函数的参数,让用户在调用函数的时候,自行传入参数,这样就能让这些代码可以被反复使用,并且可以适应更多的场景,还能很方便地调用。

2、怎么自定义一个函数

python中定义函数必须要用def这个保留字,例如:

def my_print():
    print('我的第一个函数')
    print('我的第一个函数')

这就是一个最简单的函数了,def是向解释器声明,你自己定义了一个函数,my_print是函数的名字,后面的小括号用来放一些参数,也可以不放参数,最后跟了一个冒号,接下来在这个函数的第二行开始,只要有4格缩进的,解释器就认为这是你的函数体,也就是你这个函数所要执行的代码,都在这下面开始写。

3、区分函数名和函数的调用

我们在定义了一个函数之后,需要对它进行调用,它才会执行,否则就算你运行了整块代码,它都没有反应的。
像下面最后的2行,写成my_print是 无法调用函数的,必须在它后面加个小括号,才是调用了这个函数。

def my_print():
    print('我的第一个函数')
    print('我的第一个函数')

my_print       # 错误的调用写法
my_print()     # 正确调用函数的写法

函数有时候也会被称为方法。
我个人是这么认为的,在函数式编程中,所有的函数就都是函数,不叫方法。在面向对象编程中,通常会先使用类去创建一个对象,再通过对象去调用它的某个方法,这种情况下,我们在类中定义的函数,通过创建对象后调用,就叫做调用这个对象的某个方法。
(纯属个人理解,新手可以不用理会,反正用起来函数和方法没啥区别。当我们说调用某个方法时,你理解为就是调用一个函数好了)

函数并不是每个都像上面那么简单的,往下我们慢慢增加复杂性:
从参数的维度来分,可以分为:无参数函数和有参数函数
像上面最简单的函数,小括号内没有任何东西,它就是一个无参数的函数。有参数的函数就是在小括号内,写一些参数,而参数也有分几种,后面有文章专门分析一下。

从返回值的角度来分,可以分为:无返回值函数和有返回值的函数

有没有返回值,只要看函数体中有没有return这个保留字。有的就是有返回值函数。后面有文章专门分析一下返回值return。

再复杂一点的是,可以在函数内部调用它本身,实现循环。后面有文章专门分析一下。

最后更复杂的是,在函数内部定义另一个函数,并且调用,实现一个闭包。(这个属于python进阶的内容了,在python进阶部分会有专门的文章分析一下闭包)

发布了52 篇原创文章 · 获赞 76 · 访问量 9121

猜你喜欢

转载自blog.csdn.net/Jacky_kplin/article/details/104809770