Redian新闻
>
python自定义函数中变量的scope 问题求教
avatar
python自定义函数中变量的scope 问题求教# Programming - 葵花宝典
t*s
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 定义变量的方法?
谢谢
avatar
r*2
2
通常来说,python会自动寻找变量,如果在local有这个变量,就用local变量。即使有
一个相同的global变量,这个local变量也会hide global。
如果你的memo是global变量,应该说fib(n)会自动调用的。
avatar
t*s
3
谢谢,试了一下,好象确实是这样。

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

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。