Python--(11)--函数二

一、函数的返回值

    通过return 来指定函数的返回值。返回值可以直接使用,也可以使用一个变量来接收函数返回值的结果。

    return 后可以跟任意的对象(数值,列表,表达式......),甚至可以是一个函数。

    例如:任意数求和

return 就为返回值

    再如:return 另一个函数

return 返回另一个函数

    如果仅仅写一个return 或者不写return则相当于 return None;在函数中,return后面的代码都不会执行,即return一旦执行,函数结束。

    例如:

return执行后,函数结束

二、文档字符串

    help()函数,可以查询python函数中的用法,

    语法:help(函数对象),例如:help(print)

    例如:为函数添加文档字符串,其中__annotations__是函数的保留属性,保存的是函数声明中的注释内容,比如我们使用的对参数"num1","num2"和返回值的建议类型;

    三、函数作用域

作用域指的是变量生效的区域,在Python中有2种作用域:

1、全局作用域

    全局作用域,在程序执行时创建,在程序结束时销毁,所以函数以外的作用域都是全局作用域在全局作用域中定义的变量,都属于全局变量,全局变量可以在程序汇总的任意位置访问。

2、函数作用域

    函数作用域在函数调用时创建,在调用结束时销毁,函数每调用一次就会产生一个新函数的作用域,在函数作用域中定义的变量都是局部变量,它只能在函数内部被访问。

    作用域:由内往外看。

例如:

再如:

3、如果希望在函数内部修改全局变量,则需要使用golbal关键字来声明变量

例如:

golbal 声明全局变量

四、命名空间

    命名空间实际是一个字典,就是一个专门用来存储变量的字典;locals()用来获取当前作用域的命名空间,如果在全局作用域中调用locals()函数则获取区全局作用域命名空间,如果在函数作用域中调用locals()则获取函数命名空间,返回的就是一个字典值。

例如:

全局locals()

再如:

函数内部locals()

五、递归

    递归式的函数,递归的简单理解就是“自己调用自己”,递归式函数就是在函数中调用函数本身。

递归式解决问题的一种方式

    递归式函数的两个条件:

1、基线条件:问题可以被分解成最小的问题,当满足基线条件时,递归不在执行了。

2、递归条件:将问题分解的条件。

例如:求取10的阶乘

递归 10的阶乘

再如:求取任意数的任意次幂的值

任意数任意次幂

再如:判断任意字符串是否为回文字符串

方法 1
方法 2

六、高级函数

特点:

1、接受一个或者多个函数作为参数;

2、将函数作为返回值;

注:满足任意一个特点就是高级函数。

例如:

注:当我们使用一个函数作为参数时,实际上就是将指定的代码传递进了目标函数。

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

推荐阅读更多精彩内容