import time
def performance(f):
def new_func(n):
print "call factorial() in ", time.ctime()
return f(n)
return new_func
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
def performance(f):
def new_func(n):
print "call factorial() in ", time.ctime()
return f(n)
return new_func
@performance
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
2016-10-07
def fd(self):
num = 1
n = 1
if self.p < self.q:
num = self.p
else:
num = self.q
for i in range(1,num+1):
if self.p % i == 0 and self.q % i == 0:
n = i
return n
num = 1
n = 1
if self.p < self.q:
num = self.p
else:
num = self.q
for i in range(1,num+1):
if self.p % i == 0 and self.q % i == 0:
n = i
return n
2016-10-06
import json
class Students(object):
def read(self):
return '["Tim","Bob","Alice"]'
s = Students()
print json.load(s)
class Students(object):
def read(self):
return '["Tim","Bob","Alice"]'
s = Students()
print json.load(s)
2016-10-06
在前人基础上总结:
第一,这里的有理数,其实指的就是分数而已,p代表分子,q代表分母;
第二,加法函数里面的__add__(self,r),里面的self和r对应的就是下方的r1和r2;
第三,有理数def __init__(self, p, q) ,里面的p和q,分别是分子和分母数,例如1/2,分别是1和2;
第四,求最大公约数
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
第一,这里的有理数,其实指的就是分数而已,p代表分子,q代表分母;
第二,加法函数里面的__add__(self,r),里面的self和r对应的就是下方的r1和r2;
第三,有理数def __init__(self, p, q) ,里面的p和q,分别是分子和分母数,例如1/2,分别是1和2;
第四,求最大公约数
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
2016-10-06
p1.get_grade是属性,只不过这里的属性是一个函数对象,即f;
p1.get_grade()是方法,前面的p1就是调用这个方法的对象,即实例,整句来说就是实例方法。
p1.get_grade()是方法,前面的p1就是调用这个方法的对象,即实例,整句来说就是实例方法。
2016-10-04
attribute意思是属性,set attribute设置属性
除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性
*args 以元组的形式接受剩余非关键字参数 **kw 以字典的形式接受剩余关键字参数
.iteritems方法将字典所有的项按(key,value)的形式返回迭代器对象
除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性
*args 以元组的形式接受剩余非关键字参数 **kw 以字典的形式接受剩余关键字参数
.iteritems方法将字典所有的项按(key,value)的形式返回迭代器对象
2016-10-04
import math
def is_sqr(x):
return x and math.sqrt(x) in range(1,101,1)
print filter(is_sqr, range(1, 101))
def is_sqr(x):
return x and math.sqrt(x) in range(1,101,1)
print filter(is_sqr, range(1, 101))
2016-10-04
class Person(object):
def __init__(self, name, gender, **kw):
self.name=name
self.gender=gender
for k in kw:
setattr(self,k,kw[k])
p = Person('Bob', 'Male', age=18, course='Python')
print p.age
print p.course
也可以不用iteritems()遍历,直接用key访问value也行
def __init__(self, name, gender, **kw):
self.name=name
self.gender=gender
for k in kw:
setattr(self,k,kw[k])
p = Person('Bob', 'Male', age=18, course='Python')
print p.age
print p.course
也可以不用iteritems()遍历,直接用key访问value也行
2016-10-03