hahaha90 发表于 2016-3-4 22:46:53

python

def fun1():
    x=;
    def fun2():
      x*=x;
      return x;
    return fun2();

def fun1():
    x=5;
    def fun2():
      x*=x;
      return x;
    return fun2();



有什么区别???

hldh214 发表于 2016-3-4 23:08:54

硬要说区别, 就是内存占用不一样

shuofxz 发表于 2016-3-4 23:12:18

一样的呀,只不过表示方式不同罢了

~风介~ 发表于 2016-3-4 23:24:01

运行代码F5,你就知道~{:9_223:}

hahaha90 发表于 2016-3-6 09:49:50

hldh214 发表于 2016-3-4 23:08
硬要说区别, 就是内存占用不一样

具体是什么??

hldh214 发表于 2016-3-6 10:45:11

hahaha90 发表于 2016-3-6 09:49
具体是什么??

刚刚看了下, 内存占用是没区别的, cpu消耗因为执行速度太快也看不出来区别{:10_266:}

林斌 发表于 2016-3-6 11:11:12

这是 第20讲 中的一个例子,区别在于第二段代码没有将X传入内嵌函数fun2中,所以导致不能运行

而第一段代码将X指向一个数组中,所以可以调用   没有出错

奈文魔尔 发表于 2016-3-6 12:13:35

林斌 发表于 2016-3-6 11:11
这是 第20讲 中的一个例子,区别在于第二段代码没有将X传入内嵌函数fun2中,所以导致不能运行

而第一段 ...

这是因为局部变量的原因吗。。为啥我试了一下他的代码都可以运行的样子。。。

林斌 发表于 2016-3-6 21:46:14

奈文魔尔 发表于 2016-3-6 12:13
这是因为局部变量的原因吗。。为啥我试了一下他的代码都可以运行的样子。。。

第二段fun1() 能运行起来? 不能吧

wangguohui 发表于 2016-3-7 14:58:57

这是递归吗

wangguohui 发表于 2016-3-7 14:59:45

wangguohui 发表于 2016-3-7 14:58
这是递归吗

看错了,不是递归{:5_104:}

forevermask 发表于 2016-3-7 21:26:07

{:5_103:}不知道

迷宫中的将军 发表于 2016-3-8 15:42:56

请自行查阅理解以下知识点:
1. 变量的作用域(局部变量全局变量);
2. 可变数据类型与不可变数据类型;
3. 函数传参;
另外,提问时请在标题中把问题写稍微明确点。

hahaha90 发表于 2016-3-29 15:46:19

迷宫中的将军 发表于 2016-3-8 15:42
请自行查阅理解以下知识点:
1. 变量的作用域(局部变量全局变量);
2. 可变数据类型与不可变数据类型; ...

好的,O(∩_∩)O谢谢

不二如是 发表于 2020-10-23 19:47:41

内存占用不一样
变量的作用域(局部变量全局变量),可变数据类型与不可变数据类型;
页: [1]
查看完整版本: python