__slots__的目的是限制当前类所能拥有的属性,如果不需要添加任意动态的属性,使用__slots__也能节省内存。
2018-05-01
通过标记一个 @classmethod,该方法将绑定到 Person 类上,而非类的实例。类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.count 实际上相当于 Person.count。
2018-04-30
import math
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
def add(x, y, f):
return f(x) + f(y)
print add(25, 9, math.sqrt)
2018-04-29
除了可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx') 设置属性。
(1)*argv就是可变参数元组(tuple),可以表示任何多个无名参数(tuple)。
(2)**kwargv则是可变参数字典(dict),可以表示任意多个关键字参数(dict)
实例的初始属性中接受一个dict,用{key,values}表示,所以job=‘Student’表示为{"job":"Student"}
可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx')
(1)*argv就是可变参数元组(tuple),可以表示任何多个无名参数(tuple)。
(2)**kwargv则是可变参数字典(dict),可以表示任意多个关键字参数(dict)
实例的初始属性中接受一个dict,用{key,values}表示,所以job=‘Student’表示为{"job":"Student"}
可以直接使用self.name = 'xxx'设置一个属性外,还可以通过 setattr(self, 'name', 'xxx')
2018-04-29
概括一下,就是就需要装饰的函数名传给一个装饰器(自定的函数),然后再在这个装饰器函数内定义一个函数,在新定义的这个函数内实现新增的功能并调用传进来需要装饰的函数,然后再将原函数返回到装饰器函数,装饰器函数,装饰器函数将其内部定义的函数的函数名返回出去,最后调用装饰器并将它赋值给原函数名,大概就是怎么个流程
2018-04-28
import functools
sorted_ignore_case=functools.partial(sorted,cmp=lambda s1,s2:cmp(s1.upper(),s2.upper()))
print sorted_ignore_case(['Bob','about','ZOO','Credit'])
sorted_ignore_case=functools.partial(sorted,cmp=lambda s1,s2:cmp(s1.upper(),s2.upper()))
print sorted_ignore_case(['Bob','about','ZOO','Credit'])
2018-04-27