类属性(count)的修改必须通过内部构造函数才能实现,在实例(p1,p2)中只是修改自身属性,无法修改类属性,
count访问属性变成__count依然成立,只是在外部无法访问
count访问属性变成__count依然成立,只是在外部无法访问
2016-08-03
import math
def is_sqr(x):
return x % math.sqrt(x) == 0
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return x % math.sqrt(x) == 0
print filter(is_sqr, range(1, 101))
2016-08-03
liu047nice
s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
最后print应该是f1,f2,f3,而不是函数的执行
s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
最后print应该是f1,f2,f3,而不是函数的执行
2016-08-03
请指点下,到底哪错了
class Person(object):
def __init__(self, name, score):
self.name=name
self.__score=score
def get_grade(self):
if self.__score >= 80:
return 'A'
elif self.__score => 60:
return 'B'
else:
return 'C'
class Person(object):
def __init__(self, name, score):
self.name=name
self.__score=score
def get_grade(self):
if self.__score >= 80:
return 'A'
elif self.__score => 60:
return 'B'
else:
return 'C'
2016-08-03
def count():
fs = []
for i in range(1, 4):
def f(x=i):
return x*x
fs.append(f)
return fs
f1, f2, f3 = count()
print f1(),f2(),f3()
fs = []
for i in range(1, 4):
def f(x=i):
return x*x
fs.append(f)
return fs
f1, f2, f3 = count()
print f1(),f2(),f3()
2016-08-03
liu047nice
s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
改了也没用的
s.append(f),只是将每一个f()的引用保存进了list,并没有进行对于i的计算,所以导致最后在运行了f(1)之后,i已经变为了3,所以会一样结果都为9.只要将这里改为fs.append(f())即可,这样就在这一步的时候已经进行了i*i的运算,将结果保存了,通过这一题可以注意到在python这门语言之中,f与f()的大区别。
改了也没用的
2016-08-03
def calc_prod(lst):
def lazy_prod():
return reduce(mul,lst)
return lazy_prod
def mul(x,y):
return x*y
f = calc_prod([1, 2, 3, 4])
print f()
def lazy_prod():
return reduce(mul,lst)
return lazy_prod
def mul(x,y):
return x*y
f = calc_prod([1, 2, 3, 4])
print f()
2016-08-02