最赞回答 / suarezxyw96
第一个代码段中,fs.append(f)中这个f是f函数的名称,该名称指向的是f函数的内存地址。你可以打印f1, f2和f3,你会发现打印出来的都是函数的地址,所以当调用f1的时候其实是调用了f函数,但此时f函数中的i已经变成了3。在第二个代码段中,fs这个list中添加的是f(1),f(2)和f(3)。所以结果为1,4,9
2018-09-11
最新回答 / 慕神7650425
__dict__是特殊属性,储存实例的属性和值,update是方法,kw是dict字典,我也不是特别懂,看得多了,觉得挺好用,比for循环,记下来就好
2018-09-11
最赞回答 / 小胖脸码农
看到你的代码中 fs.append(f()) 存入的是函数调用的结果,按题目的原意的是将函数变量存入列表中,即为 fs.append(f) f1, f2,f3 = count()相当于 [f1,f2,f3] = [f, f, f]然而每个f() 返回的是 i*i,for循环中会导致i变量会递增,最终<...图片...>i 都会递增到3,所以需要将变量绑定到一个过渡的值
2018-09-09
最新回答 / 慕容9253047
当内部函数fn执行到return r时,表示fn已经执行完毕,其内部定义的t1,t2以及r都是局部变量,一旦执行完fn,这些变量对外部无效,print内容放后面,会提示t1,t2未定义
2018-09-09
最新回答 / barry_lu
i只是一个变量 定义成什么 是自己任意的 只是一个名字而已;当调用 r = f(i) 时,实际的 i 也就 变成了 函数类的 j ;所以 函数定义的 参数名 不影响 函数实际的 接收参数, 也就是 函数的 实参和形参
2018-09-07
最新回答 / 代码如诗岁月如歌
先说一下 lambda 函数指什么,lambda指匿名函数,即没有函数名的函数,一般来说只需要执行一次函数优先写成匿名函数,匿名函数的格式为 lambda 参数 :返回值 。例如 lambda x :x**2,表示传入x,返回 x 的平方,这个函数没有名字,无法再次调用,这就是匿名函数,再说一下,f1中的1,代码中 f1,f2,f3 = count(),这是Python中比较常见的赋值、传递方式,表示 f1 = count(),f2 = count(),f3 = count()。由此看见,f1就是一个函...
2018-09-07
最新回答 / 代码如诗岁月如歌
你好! None 为Python内置的一种数据类型(list,dict,str等都是数据类型),即空类型,表示没有任何东西,这段代码中,test()后面是pass,没有任何代码,因此返回 None。
2018-09-07
最赞回答 / 用故事换晚安
试试这个class Person(object): __count = 0 def __init__(self, name): Person.__count=Person.__count+1 self.name=name print Person.__countp1 = Person('Bob')p2 = Person('Alice')try: print Person.__countexcept AttributeError: print...
2018-09-07