def cmp_ignore_case(s1, s2):
if s1[0].lower()<s2[0].lower():
return -1
if s1[0].lower()>s2[0].lower():
return 1
return 0
if s1[0].lower()<s2[0].lower():
return -1
if s1[0].lower()>s2[0].lower():
return 1
return 0
2017-11-03
def __init__(self, p, q):
a,b = p,q
while(b):
a,b = b,a%b
self.p = p/a
self.q = q/a
def __mul__(self, r):
return Rational(self.p * r.p, self.q * r.q)
def __div__(self, r):
return Rational(self.p * r.q, self.q * r.p)
a,b = p,q
while(b):
a,b = b,a%b
self.p = p/a
self.q = q/a
def __mul__(self, r):
return Rational(self.p * r.p, self.q * r.q)
def __div__(self, r):
return Rational(self.p * r.q, self.q * r.p)
2017-11-03
http://python.jobbole.com/82344/ 这是一个关于装饰器的课程 相信大多数的初学者小伙伴这一节其实都没有看懂,可以看看发的链接 相信会对你有帮助的
2017-11-03
其实这里多态的意思就是: 对不同对象, 调用了同一个名字的方法 some_func , 可以表现出不同的状态, 返回不同的结果.
原因是虽然不同的对象/实例/类 中定义了的这个方法 some_func , 但是除了名字相同, 函数体随便怎么写都可以.
其实我觉得用接口的不同实现来解释多态更好理解, 但是不知道python里面有没有接口这个概念, 就好像py里面没有私有化的概念.
原因是虽然不同的对象/实例/类 中定义了的这个方法 some_func , 但是除了名字相同, 函数体随便怎么写都可以.
其实我觉得用接口的不同实现来解释多态更好理解, 但是不知道python里面有没有接口这个概念, 就好像py里面没有私有化的概念.
2017-11-03
class Fib(object):
def __init__(self, num):
L=[0,1]
for i in range(num-2):
L.append(L[-1]+L[-2])
self.names=L
def __str__(self):
return str(self.names)
def __len__(self):
return len(self.names)
f = Fib(10)
print f
print len(f)
def __init__(self, num):
L=[0,1]
for i in range(num-2):
L.append(L[-1]+L[-2])
self.names=L
def __str__(self):
return str(self.names)
def __len__(self):
return len(self.names)
f = Fib(10)
print f
print len(f)
2017-11-03
class Person(object):
def __init__(self, name, gender, **kw):
for i in kw:
setattr(self, i, kw[i])
p = Person('Bob', 'Male', age=18, course='Python')
print p.age
print p.course
def __init__(self, name, gender, **kw):
for i in kw:
setattr(self, i, kw[i])
p = Person('Bob', 'Male', age=18, course='Python')
print p.age
print p.course
2017-11-02
class Students(object):
def __init__(self, lists):
self.lists = lists
def read(self):
return self.lists
s = Students('["Tim", "Bob", "Alice"]')
print json.load(s)
def __init__(self, lists):
self.lists = lists
def read(self):
return self.lists
s = Students('["Tim", "Bob", "Alice"]')
print json.load(s)
2017-11-02
python特点:不是纯函数式编程(允许变量存在);支持高阶函数(可以传入函数作为变量);
支持闭包(可以返回函数);有限度的支持匿名函数;
高阶函数:变量可以指向函数;函数的参数可以接收变量;
一个函数可以接收另一个函数作为参数;
def add(x,y,f):
return f(x)+f(y)
add(-5,9,abs)
14
支持闭包(可以返回函数);有限度的支持匿名函数;
高阶函数:变量可以指向函数;函数的参数可以接收变量;
一个函数可以接收另一个函数作为参数;
def add(x,y,f):
return f(x)+f(y)
add(-5,9,abs)
14
2017-11-02
一开始不理解闭包是什么,好像似曾相识,看了这个http://blog.csdn.net/acs713/article/details/6863360比较清晰了
2017-11-02
from __future__ import unicode_literals
s = 'am I an unicode?'
print isinstance(s, unicode)
future前后需要两个下划线 坑啊
s = 'am I an unicode?'
print isinstance(s, unicode)
future前后需要两个下划线 坑啊
2017-11-02
import math
def add(x,y,f):
return f(x)+f(y)
print add(4,9,math.sqrt)
def add(x,y,f):
return f(x)+f(y)
print add(4,9,math.sqrt)
2017-11-02