-
要想修改类的属性只能用类+属性不能用实例加属性
查看全部 -
看不不太懂
查看全部 -
实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的: class Person(object): def __init__(self, name): self.__name = name def get_name(self): return self.__name 在实例方法内部,可以访问所有实例属性,这样,如果外部需要访问私有属性,可以通过方法调用获得,这种数据封装的形式除了能保护内部数据一致性外,还可以简化外部调用的难度。
查看全部 -
但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数.
from __future__ import division
__future__前后都是两个单下划线
查看全部 -
impot和from import之间的区别,
import time, functools def performance(unit): def perf_decorator(f): @functools.wraps(f) def wrapper(*args, **kw): t1 = time.time() r = f(*args, **kw) t2 = time.time() t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1) print 'call %s() in %f %s' % (f.__name__, t, unit) return r return wrapper return perf_decorator @performance('ms') def factorial(n): return reduce(lambda x,y: x*y, range(1, n+1)) print factorial.__name__
查看全部 -
包中必须要有_init_.py的文件
查看全部 -
<table><tbody><tr class="firstRow"><td> %s</td><td> 格式化字符串</td></tr></tbody></table><table><tbody><tr class="firstRow"><td> %f</td><td> 格式化浮点数字,可指定小数点后的精度</td></tr></tbody></table><p>都是占位符,被后面的代替</p><p>https://www.runoob.com/python/python-strings.html</p>查看全部
-
要让 @log 自适应任何参数定义的函数,可以利用Python的 *args 和 **kw,保证任意个数的参数总是能正常调用:
def log(f): def fn(*args, **kw): print 'call ' + f.__name__ + '()...' return f(*args, **kw) return fn
查看全部 -
from functools import reduce需要在包中载入reduce函数
查看全部 -
先编写一个装饰器函数f,再用@f调用并应用到下一个定义的函数中。
查看全部 -
关键在于怎么把让f先按i计算但又把f以一个函数的形式调用出来
查看全部 -
lambda 匿名函数
查看全部 -
匿名函数 lambda x: x * x
关键字lambda 表示匿名函数,冒号前面的 x 表示函数参数。
匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
查看全部 -
返回函数不要引用任何循环变量,或者后续会发生变化的变量。
查看全部 -
内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。
闭包的特点是返回的函数还引用了外层函数的局部变量,所以,要正确使用闭包,就要确保引用的局部变量在函数返回后不能变。
查看全部
举报
0/150
提交
取消