Python函数的创建和调用方法详解
前面我们讲解了Python的核心语法,这一章我们来进行函数的学习,有编程基础的同学一定知晓函数的用法,我们是零基础教程,所以在这里介绍一下什么是函数。
我们举个例子,我们拿一家公司的工资结算问题来探讨一下。
这家公司的正常工资为每天200元,如果当月工作的天数大于等于20天,多出的天数每天按300元来结算,并且加1000全勤奖金,如果工作天数少于10天,那么所有工资按每天150元来结算,并扣除200缺勤工资。
假设该公司有4个员工,ABCD 4个员工的工作天数分别为30、25、15、5,我们来看一下它的代码。
1 2 3 4 5 6 7 8 9 10 11 12 | A = 30 B = 25 C = 15 D = 5 salaryA = ( 30 - 20 ) * 300 + 20 * 200 + 1000 salaryB = ( 25 - 20 ) * 300 + 20 * 200 salaryC = 15 * 200 salaryD = 5 * 200 - 200 print (salaryA) print (salaryB) print (salaryC) print (salaryD) |
这种方式不仅需要我们手动去判断,代码方式也是单一使用代码,当我们再次使用的时候还需要再次计算,当员工数量为1000的时候,我们肯定不能使用这种方式,因此我们来借助函数来解决这个问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | A = 30 B = 20 C = 10 D = 5 def getsalary(name,days): salary = 0 if days > = 20 : salary = 20 * 200 + (days - 20 ) * 300 + 1000 print ( '{}的工资为:' . format (name),salary) elif days < 10 : salary = days * 150 - 200 print ( '{}的工资为:' . format (name),salary) else : salary = days * 200 print ( '{}的工资为:' . format (name),salary) getsalary( 'A' ,A) getsalary( 'B' ,B) getsalary( 'C' ,C) getsalary( 'D' ,D) |
输出结果为:
1 2 3 4 | A的工资为: 8000 B的工资为: 5000 C的工资为: 2000 D的工资为: 550 |
通过上面这个例子,在解决相同问题不同变量的时候,我们只需要定义好一个函数,然后将这些变量反复使用这些函数即可解决问题,不需要我们去手动计算,计算机会帮助我们更准确迅速的解决问题。
函数可以帮助我们完成更简洁的代码、减少代码的重复、易于测试、快速开发、便于团队合作,因此在后面的学习过程中,函数是必不可少的一环。
1. 函数的创建
从上面的例子中我们可以看到函数的定义使用的关键字是def,定义函数的一般形式为:
1 2 | def function_name(): 函数内容 |
在定义函数名字的时候我们需要注意几点:
1) 关键字不能作为函数名字。
2) 函数名中不能存在空格。
3) 函数名的首字母必须是大小写字母或者下划线。
4) 函数名的其余字母可以使用字母、数字以及下划线。
5) 不同函数名大小写不同的时候为不同函数。
我们来定义创建几个函数:
1 2 3 4 5 6 | def get_name(): pass def get_salary(): pass def add_money(): pass |
采用字母+下划线+字母的形式为常用的命名方式。
2. 调用函数
当我们创建好函数之后,如果不调用的话,不管函数中有多少print都不会执行的,因为函数就像我们买了一些工具放在仓库里,只有当我们拿出来的时候才能去使用,因此我们需要调用函数。
调用函数的时候,解释器会跳到函数体内,执行函数内的语句,当执行完毕之后回到调用的位置继续执行后续语句。
我们来看一下函数的调用过程。
1 2 3 4 5 6 | def helloworld(): print ( '调用函数' ) print ( 'helloworld' ) print ( '人生苦短,我用Python' ) helloworld() print ( '调用完毕' ) |
输出结果为:
1 2 3 4 | 调用函数 helloworld 人生苦短,我用Python 调用完毕 |
本节我们主要来认识一下函数,学习函数的创建和调用,下一节我们来学习函数的参数传递。