12. Python脚本学习笔记十二作用域与递归
来源:互联网 发布:vue js 折叠面板例子 编辑:程序博客网 时间:2024/06/05 06:35
12. Python脚本学习笔记十二作用域与递归
本篇名言:“面对困难,微笑含着勇敢;面对挫折,微笑带着自信;面对误解,微笑露出宽容;面对冷漠,微笑洋溢热情;面对爱情,微笑代表真心。愿你微笑面对人生。”
1. 作用域
Python 有个内建的vars函数可以返回变量字典。如下:
>>>x=1
>>> scope=vars()
>>> scope['x']
1
>>> scope['x']+=1
>>> scope['x']
2
这个字典叫做命名空间或者作用域。
每个函数调用都会创建一个新的作用域。
deffoo():
x=42
print x
x=1
foo()
print x
输出如下:
42
1
可以通过函数globals函数获取全局变量值。
如下:
>>> x=1
>>> globals()['x']
1
如果想在函数中引用全局变量,可以通过 global x引用。
2. 递归
函数可以调用自身。就可以简单理解成递归调用。
2.1 阶乘
什么是阶乘 蛤蟆就不说了,不知道就去看下高中数学。
正常版本实现如下:
deffactorial(n):
result=n
for iin range(1,n):
result *= i
return result
print factorial(3)
递归实现:
deffactorial(n):
if n ==1:
return1
else:
return n*factorial(n-1)
print factorial(3)
2.2 幂
递归实现如下:
defpower(x,n):
if n==0:
return1
else:
return x*power(x,n-1)
print power(2,4)
递归可以用循环来替换的,但是在多数情况下,递归更加易读,有时会大大提高可读性。
- 12. Python脚本学习笔记十二作用域与递归
- 22. Python脚本学习笔记二十二数据库支持
- Python学习笔记:作用域
- python 学习笔记(十二)
- python基础教程学习笔记十二
- Python学习笔记(十二)
- Python学习笔记(十二)-- Python模块
- python 学习笔记-变量作用域
- Python学习笔记——作用域
- Think Python 学习笔记5:条件与递归
- python 学习笔记(二十二)
- python cookbook学习笔记十二:XML解析
- Python学习笔记之递归
- 【Python学习笔记】递归函数
- python学习笔记 递归函数
- 11. Python脚本学习笔记十一函数与参数
- 13. Python脚本学习笔记十三类与对象
- JavaScript学习笔记(函数与作用域)
- 逆向VC++的栈Cookies算法
- apache配置问题(linux)
- 11. Python脚本学习笔记十一函数与参数
- eclipse--开启代码自动提示
- Java集合框架初步(hashset treeset list hashmap)
- 12. Python脚本学习笔记十二作用域与递归
- 在win7下装centos7双系统,恢复双方引导的艰难历程,希望给和我遇到同样困难的人一些帮助
- 13. Python脚本学习笔记十三类与对象
- 14. Python脚本学习笔记十四异常
- wait,notify,synchronized实现阻塞队列
- 虹膜识别与虹膜定位(续)算法实现
- 15. Python脚本学习笔记十五特殊方法、属性和迭代器
- 通过itchat进行给好友发送消息
- 数据结构实验之二叉树八:(中序后序)求二叉树的深度