所在的位置: python >> python资源 >> Python语法教程函数

Python语法教程函数

前言

函数就是一段事先组织完整的,用来实现某些功能的代码块,它具有可重复操作性、封装好,模块化程度高等一系列的优点。其实不管在哪种编程语言里,函数都是必不可少的,一段可阅读性强的代码,在函数的封装上一定是做得很好的,今天我们就来学习Python的函数用法;

函数的定义

函数分为系统内置函数和自定义函数,系统内置函数我们之前已经接触过许多了,像“print()”我们最常用的函数,就是系统内置函数,我们不用关系函内部到底做了什么,只负责传参数、调用就可以了;

用户自定义函数则是我们自己封装好的函数,供自己或其他人调用,今天我们主要讲的是用户自定义函数;

我们先列举一个最简单的函数,如下图所示:

通常来说,写一个自定义函数要遵循的规则有:

必须以def关键词开头,后面跟自定义函数名称,后面接(),括号里面是传入参数的定义;函数的第一行可以用来描述该函数要实现的功能(养成习惯很重要,增加可阅读性);函数名以冒号结尾,下面的代码块是所要实现的内容,一定要记得缩进!return代表的是这个函数的返回值,如果不填写,则返回值为None;

函数的调用

函数的调用方法通常有两种,上面的例子给出了第一种:在另一个函数内直接调用,也可以采用下面的方法调用,如下图:

传递参数

调用函数另一个很重要的部分就是传递参数,调用者将变量传入函数内部,函数执行完毕后,返回相应的结果;但在Python中,变量是没有类型的,也遵循了“一切皆为对象”的原则;

传入参数分以下几种类型:无参函数、有参函数和空函数,其中有参函数里有:必填参数、默认参数、可变参数、关键字参数和命名关键字参数,定义和调用方法如下:

空函数什么也不做,在这里起什么作用呢?有时候在写代码时,定义好了一个函数,还没想好怎么实现,可以先放着,这时候用“pass”占位符,可以先编译过去,否则运行代码程序时会提示错误;

注意:

设置默认参数时,必填参数一定要在默认参数的前面;默认参数一定要指向不可变数据类型;

下面着重讲一下可变参数、关键字参数和命名关键字参数的函数:

可变参数的函数定义和调用

上图是一个可变参数的函数定义及调用方法,其实可以看到,在函数内部,变量args其实已经自动转换成一个tuple了;

关键字参数的函数定义和调用

上图是一个带关键字参数的函数定义及调用,“**kw”在函数内部已经变成了一个dict了;

命名关键字参数的函数定义和调用

上图是命名关键字参数的函数定义及调用,用“*”来标识,“*”以后的参数代表要接受的参数,除此之外,其他参数都不接受;

注意:

由于Python在程序的编写上非常的灵活,参数形态复杂多样,所以,在一个函数的传入参数中,可以将上面几种参数非常复杂的组合在一起,如下图:

看上去有点是不是觉得有点晕?所以,在平时写代码的时候,一定要注意,尽量不要使用太多的组合,否则代码的可读性比较差;

总结:

默认参数一定要用不可变对象;*args是可变参数,args接收的是一个tuple;**kw是关键字参数,kw接收的是一个dict;当然可以自己定义其他参数名称,但通常args和kw是Python的习惯写法;定义命名的关键字参数在没有可变参数的情况下不要忘了写分隔符“*”,否则后面定义的都是必填参数了;定义参数时尽量不要使用太多的组合,到时候真的会把自己绕晕的;总之,要想学好编程,经常上机做练习是必不可少的,可以尝试各种不同的写法,看看对在哪儿,错在哪儿,函数这一部分非常的灵活,希望多加练习。




转载请注明:http://www.aierlanlan.com/rzgz/1741.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了