已采纳回答 / fengchidianche
Python的内存管理采用自动回收机制,你例子中的a, b, L, i均为局部变量,在所属的function执行完毕后被自动回收,因此别的function不可能访问到已经被回收的变量。而self.v1则不同,它是属于对象'self'的属性,只要对象存在,则属性就存在并共享
2016-10-09
已采纳回答 / fengchidianche
这是Python内部机制name mangling 技术做的事情。具体表现是__specialname形式的任何标识符(前面至少两个下划线,后面至多一个下划线)会被自动替换为_classname__specialname,其中classname就是类名。这也就是你直接访问__specialname时无法访问到的原因啦,是不是很可爱在你指出的例子中,你可以用以下代码自行验证一下,希望能帮到你<...code...>
2016-10-08
已采纳回答 / 打代码的科比
可以看成是a=b,b=a+b一开始是a=0,b=1。然后把a=0放进L之后,就把a设为当前b的值1,b就等于当前a的值(0)和当前b的值(1)之和1这个步骤是同时进行的,所以修改a的值,并不影响同一行修改b的值
2016-10-07
已采纳回答 / 白白的萝卜坑
Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀 u 或 U 。例如, u"This is a Unicode string." 。
2016-10-04
已采纳回答 / m_silentstone
个人认为是python解析层次关系的约定。python因为不用大括号表示层次,就需要一种约定解析层次关系,那必须有一个标准,4个空格就是这个标准吧。试了下在def下3个或5个空格也没报错
2016-10-03
已采纳回答 / 慕粉3953928
装饰函数的参数是被装饰的函数对象,返回原函数对象装饰的实质语句: myfunc = deco(myfunc)'''定义decoratordef log(f): #定义装饰器高阶函数,以要装饰的函数f作为参数 def fn(x): #内部相当于重构要装饰的函数f,重命名为fn print 'call ' + f.__name__ + '()...' #加特技print return f(x) #为了不重写原来的函数f的...
2016-09-30
已采纳回答 / yuklngt
这个函数的作用是用于判断参数x的平方根是否为整数。首先开方x取得x平方根的r,取整忽略小数部分。然后取得取整后平方根r的平方,与开方前的数值x对比,如果平方根是整数,那么这个r的平方应该与参数x相等,返回true。如果平方根有小数,那么取整后的平方根r的平方必然与x不相等,返回flase。
2016-09-29
已采纳回答 / 慕粉4019718
函数在某种程度上也是一种数据类型,函数本身也可以赋值给变量,当返回函数时返回的函数并没有被调用,这时可以用一个变量来接收,这样就可以在合适的时候来调用函数。
2016-09-25