- Python爬虫、数据分析与可视化:工具详解与案例实战
- 成立明 胡书敏 黄勇
- 635字
- 2021-03-31 12:07:38
1.3 定义和调用函数
为了提升代码的可维护性和重用性,我们需要在Python代码里定义函数。在本节里,除了将讲述定义和调用函数的常规用法外,还将讲述使用函数的若干注意点。
在Python里,函数也叫方法,在其中可以封装一些通用性的功能代码。在之前的案例中,我们已经调用过Python自定义的函数,比如通过调用print函数实现输出的功能。此外,我们还可以定义自己的函数。
比如,我们想在代码里多次实现累加和的操作,就可以定义一个函数,在其中封装通用性的代码,在使用时调用。在如下的FuncDemo.py案例中,通过实现累加和功能向大家展示定义和调用函数的做法。
01 def calSum(maxNum): 02 sum = 0 03 num=0 04 while num <= maxNum: 05 sum = sum + num 06 num = num + 1 07 return sum 08 print(calSum(100)) # 5050 09 print(calSum(50)) # 1275 10 # bad usage 11 print(calSum('100')) # see exception
从第1行到第7行的代码里,大家能看到一个函数定义的范例。在第1行里,我们通过def定义了名为calSum的函数,它携带一个名为maxNum的参数。注意,def语句也需要以冒号结尾。在第2~7行以缩进的方式定义了该函数的主体代码,其中以while循环的方式实现了累加和,若有必要,则需要通过第7行的方式用return返回该函数的运行结果。
定义完成后,在第8、9行,我们分别通过调用calSum实现了从1到100和从1到50的累加和。通过函数封装功能,我们能避免编写重复性的代码。
注意,由于在定义函数参数时无法指定参数的类型,因此在调用时尤其得小心,传入的参数类型需要和定义时相匹配。比如在第1行定义的calSum函数,它的参数本意是整型数据,如果调用时传入的是浮点型数据,虽然结果有些怪,但是不会出现语法问题,而如果如第11行那样传入字符串型参数,就会出现异常。