由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - python自定义函数中变量的scope 问题求教
相关主题
reverse LL recursively现在还在“学”脚本语言的,都弱爆了
[合集] 问个递归的问题有专门讲 message server performance 的资料吗
Python: What does this mean?wpf: 自定义命令command
recurvion真的很难懂~~java有没有用户自定义长度integer类型?
树的前序遍历一个关于unordered_map/hashmap的问题
自定义数据类型冲突Comparison Re: 组合的枚举算法?
OpenGL能否方便实现自定义图形的移动,擦除和分层显示?这道题有什么好思路?
C Shell 里真的没法自定义函数吗?Interview question
相关话题的讨论汇总
话题: memo话题: 变量话题: 函数话题: fib话题: python
进入Programming版参与讨论
1 (共1页)
t**********s
发帖数: 930
1
费波那契数列Recursion with memoization用python实现:
先定义一个dictionary:
memo = {0:0, 1:1}
再定义函数:
def fib(n):
if not n in memo:
memo[n] = fib(n-1) + fib(n-2)
return memo[n]
我的问题是:定义的函数内能reach到函数外的memo吗?
python 中有没有global 定义变量的方法?
谢谢
r******2
发帖数: 754
2
通常来说,python会自动寻找变量,如果在local有这个变量,就用local变量。即使有
一个相同的global变量,这个local变量也会hide global。
如果你的memo是global变量,应该说fib(n)会自动调用的。
t**********s
发帖数: 930
3
谢谢,试了一下,好象确实是这样。

【在 r******2 的大作中提到】
: 通常来说,python会自动寻找变量,如果在local有这个变量,就用local变量。即使有
: 一个相同的global变量,这个local变量也会hide global。
: 如果你的memo是global变量,应该说fib(n)会自动调用的。

1 (共1页)
进入Programming版参与讨论
相关主题
Interview question树的前序遍历
求助一个数据结构的求时间复杂度问题自定义数据类型冲突
请大虾验证!OpenGL能否方便实现自定义图形的移动,擦除和分层显示?
How to implement "reverse a singly linked list" recursivelyC Shell 里真的没法自定义函数吗?
reverse LL recursively现在还在“学”脚本语言的,都弱爆了
[合集] 问个递归的问题有专门讲 message server performance 的资料吗
Python: What does this mean?wpf: 自定义命令command
recurvion真的很难懂~~java有没有用户自定义长度integer类型?
相关话题的讨论汇总
话题: memo话题: 变量话题: 函数话题: fib话题: python