| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> python笔记Ⅶ--函数返回值、作用域与命名空间、递归 -> 正文阅读 |
|
[Python知识库]python笔记Ⅶ--函数返回值、作用域与命名空间、递归 |
一、返回值:返回值就是函数执行以后返回的结果1、可以通过 return 来指定函数的返回值。可以之间使用函数的返回值,也可以通过一个变量来接收函数的返回值。2、return 后边跟什么值,函数就会返回什么值。return 后边可以跟任意的对象,返回值甚至可以是一个函数。 例:
3、如果仅仅写一个return 或者 不写return,则相当于return None
? 返回的是None。 4、在函数中,return后的代码都不会执行,return 一旦执行函数自动结束
? 返回的是hello。 5、return与break、continue的区别:① return用来结束函数② break 用来退出当前循环③ continue 用来跳过当次循环
? 返回的是0、1、2。 6、fn5 和 fn5()的区别
二、help()函数 :是Python中的内置函数,通过help()函数可以查询python中的函数的用法语法:help(函数对象)
?三、文档字符串(doc str)?? >? 在定义函数时,可以在函数内部编写文档字符串,文档字符串就是函数的说明。 ?? >? 当我们编写了文档字符串时,就可以通过help()函数来查看函数的说明。 ?? > 文档字符串非常简单,其实直接在函数的第一行写一个字符串 ''' 就是文档字符串。
四、作用域与命名空间1、作用域(scope):指的是变量生效的区域例1:
? 这里a定义在了函数内部,所以他的作用域就是函数内部,函数外部无法访问 。 (1)在Python中一共有两种作用域:① 全局作用域:全局作用域在程序执行时创建,在程序执行结束时销毁。 ② 函数作用域:?函数作用域在函数调用时创建,在调用结束时销毁 (2)变量的查找??? 当我们使用变量时,会优先在当前作用域中寻找该变量, ??? ① 如果有则使用, ??? ② 如果没有则继续去上一级作用域中寻找,如果有则使用, ??? ③ 如果依然没有则继续去上一级作用域中寻找,以此类推, ??? ④ 直到找到全局作用域,依然没有找到,则会抛出异常 NameError: name 'a' is not defined (3)在函数中为变量赋值时,默认都是为局部变量赋值。如果希望在函数内部修改全局变量,则需要使用global关键字,来声明变量.
2、命名空间(namespace):指的是变量存储的位置,每一个变量都需要存储到指定的命名空间当中。
(1)每一个作用域都会有一个它对应的命名空间。(2)全局命名空间,用来保存全局变量。函数命名空间用来保存函数中的变量(3)命名空间实际上就是一个字典,是一个专门用来存储变量的字典(4)locals()用来获取当前作用域的命名空间。? ① 如果在全局作用域中调用locals()则获取全局命名空间, ? ② 如果在函数作用域中调用locals()则获取函数命名空间,返回的是一个字典 (5)globals() 函数可以用来在任意位置获取全局命名空间。
五、递归:递归式函数,就是在函数中自己调用自己??? 递归是解决问题的一种方式,它和循环很像。它的整体思想是,将一个大问题分解为一个个的小问题,直到问题无法分解时,再去解决问题。 1、递归式函数的两个要件:(1)基线条件? - 问题可以被分解为的最小问题,当满足基线条件时,递归就不再执行了 (2)递归条件?? - 将问题继续分解的条件 2、递归和循环类似,基本是可以互相代替的,(1)循环编写起来比较容易,阅读起来稍难
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:42:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |