2018-07-14 函数和参数

自定义函数

使用def语句自定义函数,其后为函数名(输入参数): 函数体在缩进块中编写。输入参数中,必选参数在前,默认参数在后。返回值用return语句,和C艹不同的是,返回多个数值时,python返回的是一个包含多个数值的tuple。

若把函数保存为.py文件,在当前目录下可以使用 from abstest import my_abs来导入函数,其中abstest为文件名,my_abs为函数名。

pass语句,如同字面,表示什么都1不做,常用来占位。

可变参数,在参数前面加了一个*号,调用该函数时,可以传入任意个参数,包括0个参数。

关键字参数,在参数前面加了两个*号,允许传入0个或任意个含参数名的参数。

命名关键字参数 例如 defperson(name, age, *, city, job) 仅仅接受其后关键字的参数,若函数中已经定义可变参数,则不需要” *, “ 。注意,命名关键字必须传入参数名。

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

注意,python没有对自定函数参数类型错误的检查,可以在函数中添加类型检查语句(例如 isinstance(x, (int, float)) )实现。

尾递归优化

    在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 7,977评论 2 9
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,290评论 17 410
  • 第5章 函数和函数式编程 5.1 引言函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数...
    VIVAFT阅读 4,542评论 0 5
  • 睡眼朦胧,愤怒的在梦中醒来,我做了一个梦! 我梦到我在老家,不知道我在寻找什么?我只记得我走在小时候和妈妈常去耕作...
    冬眠小熊阅读 1,657评论 0 1
  • Cascading Windows 为了改善Windows的位置,我们引入Cascading Windows(级联...
    TomatosX阅读 5,130评论 0 0