class A(object)
def __init__(self, a):
self.a = a
class B(object)
def __init__(self, b):
self.b = b
class C(A, B)
def __init__(self, a, b):
super(C, self)__init__(a, b) #<----这样写是错误的
def __init__(self, a):
self.a = a
class B(object)
def __init__(self, b):
self.b = b
class C(A, B)
def __init__(self, a, b):
super(C, self)__init__(a, b) #<----这样写是错误的
2015-07-18
假如一个类C继承了类A和类B,类A和类B有不同的属性,并且类C在创建时要初始化这些属性,此时在类C的构造函数__init__中使用super(C,self).__init__调用就无法实现了,比如:
2015-07-18
最赞回答 / qq_忆_4
return f(x)是返回原来函数的返回值...fn是一个新函数...return fn是返回新函数..新函数 新操作 调用旧函数是一个这样的形式吧..也就是说这样的话就扩充了旧函数的功能了..执行过程应该是这样...先log(f)得到新函数的地址..之后调用新函数就完成了对旧函数的扩充...(这个地址的说法来源于C语言,理解的不对的地方还请谅解..菜鸟一只)
2015-07-17
到后面了 感觉完全学不走了 讲的内容跟编的程序内容完全对不上号 setattr()都没有学过怎么玩,太粗暴了。差评
2015-07-16
functools.partial的第一个参数是需要提供默认参数的函数的名称sorted,第二个参数是需要修改参数的函数sorted中需要提供默认参数的参数并提供默认值
2015-07-16
import math
def is_sqr(x):
y = math.sqrt(x)
if round(float(y))==float(y):
return x
print filter(is_sqr, range(1, 101))
用float来判断也行!
def is_sqr(x):
y = math.sqrt(x)
if round(float(y))==float(y):
return x
print filter(is_sqr, range(1, 101))
用float来判断也行!
2015-07-15