函数是带名字的代码块,能够完成指定的功能。若是须要在程序中重复屡次执行某个任务,能够直接调用函数便可。这样就能够避免程序代码的冗余,减小代码量,方便维护。
1、 定义函数的格式:
def function_name(参数1,参数2,参数3......):
代码块
2、函数的形参和实参:函数定义时的参数为形参,在函数调用时赋予的参数为实参; 例如:
3、函数传参讲解
1.位置参数
场景说明:当实参较少,函数在调用时易于知道函数中参数的位置及定义,可使用该方式。通常用的较多。
说明:位置参数就是函数调用时传入的实参要与函数定义时的形参位置(前后顺序)上一 一对应;例如上面的函数调用时,分别用下面两种方式来进行,1.def get_info(‘陈晨’,'湖北'),2.def get_info('湖北',‘陈晨’)。1表示陈晨来自湖北,2则表示湖北来自陈晨,彻底不一样,以下图所示:
另外,该种方式除了要求形参和实参的位置(前后顺序)一 一对应外,还要求实参和形参的数量彻底相同,不然将会报错;
2.关键字参数
场景说明:当函数中的参数较多,且在每次调用时,参数的顺序较多,不方便记忆,此时建议使用关键字参数的方式进行传参。
说明:关键字参数是指在函数调用时使用键值对的方式来进行制定参数的值,例如:1.get_info(name='陈晨',address ='湖北'),2.get_info(address ='湖北',name='陈晨');两种方式结果完成相同。
即:关键字参数是经过参数名来定义参数值的,与位置无关。
3.默认参数
场景说明:当函数在调用时,大多状况下,某些参数的值不变,此时为了方便,不用每次对这些值进行传值,能够默认为固定的值,有且当须要更改时才进行传值,这些固定的值即为默认参数。
说明:默认参数是位置参数和关键字参数的结合形式,默认参数必须放在最后,其余参数按照位置参数的规则进行传参。如今对上面的例子进行改进(增长一个用户的年龄),以下图所示:
若是在实际使用中发现,百分之七十以上的用户都来自湖北,此时就可使用默认值,函数定义以下图所示:
这样,之后在调用时,若是该用户是来自湖北,就能够对address不进行传参;若是该用户不是来自湖北,在进行传参,分别以下图所示:
4.任意多参数
场景说明:在某些复杂的项目中,某些函数的参数数量不能事先肯定,此时就能够定义成任意多的参数形式,该种模式是参考了位置参数和关键字参数而进一步获得的。咱们经过元组来存放事先未知的相似位置参数的参数,经过字典来存放事先未知的键值对(关键字参数),格式以下所示:
注意:若是要让函数接受不一样类型的参数,必须在函数中定义任意数量实参的形参放在最后。Python将会先匹配位置实参和关键字参数,再将余下的位置实参收集到元组中,将关键字参数收集到字典中。即:此时的参数顺序:位置参数,关键字参数,元组,键值对,其中某种类型的参数能够不存在(不存在就忽略),但总体的顺序不能变。
4、函数返回值
说明:函数在调用时,绝大数状况下须要获得某个结果返回给调用的对象,此时将须要使用函数返回值了,函数返回值须要使用return关键字。注意:一旦使用了return,函数后面的部分将再也不执行;若在函数中没有使用return,返回的将是一个None对象。
函数返回的值能够是任意形式的类型,包括:数字,字符串,列表、元组、字典等。ide