最贊回答 / lc云澤
? ? ? ? ? ? ? ? ?'self.__score'中的'__score'是你自己定的屬性名,想寫啥都行,有雙下劃綫只表示不能外部訪問,你可以寫成'self.__a',一樣的。但是后面'=__score'的'__score'是參變量,是在def ?__init__()時定義的變量,你括號里的變量名是什么,這個名字就是什么
2015-04-01
最贊回答 / a412739861
setattr()表示你可以通過該方法,給對象添加或者修改指定的屬性。setattr()方法接受3個參數:setattr(對象,屬性,屬性的值)setattr(self,k,v)相當于self.k = vjob = 'Students' 應該是自動匹配成了字典(這一點我也不太明白)kw.iteritems()這個好像是歷遍字典kw的所有key和value,分別匹配的是k,v?
2015-04-01
最贊回答 / dev_林杰
>>> ('abc')'abc'>>> type('abc')<type 'str'>>>> type('abc',)<type 'str'>>>> type(('abc'))<type 'str'>>>> type(('abc',))<type 'tuple'>>>>?
2015-03-31
最贊回答 / 殷鳳君OliviaYi
f=calc_sum() ? ?--->返回值:無f ? ? ? ? ? ? ? ? ? ? ? ?---> 返回函數:lazy_sum()f() ? ? ? ? ? ? ? ? ? ? ---->返回值:lazy_sum的值
2015-03-28
最贊回答 / a412739861
因為f(i)在i的值沒發生變動的時候,就已經完成計算了。所以f(i)是已經算出來的具體數值了而非之前的調用函數——lazy_sum之類的效果。這個數值已經計算好了。然后i繼續迭代。與這里的f(i)已經無關了。
2015-03-27
最新回答 / ffan
對,執行f1, f2, f3 = count()的時候,不會去運行def f():這個函數,但是for循環卻會一直執行,而且每次都會將f()追加到fs,但因為沒有傳入i值,所以每次循環下來追加的都是f(),即為同一個數值,當然會覆蓋掉之前的f()??!所以當輸入print f1()的時候,此時運行def f():這個函數的時候,i值變為3,返回的就是9了。不知道理解的對不對,如有錯,望指正??!
2015-03-27
最贊回答 / 米樂樂果
參考https://docs.python.org/3/library/functions.html?highlight=property#property
2015-03-26