分类 "Python" 下的文章

问题:在python中如何保留两位小数
解决:使用round或'%.2f'
方法:
a = round(97/3, 2)
python2中a为32.0,python3中为32.33
b = '%.2f' % (97/3)
python2中b为‘32.00’,python3中为‘32.33’

问题:有一个list,希望将里面的元素相加,获得它的和
解决:使用reduce,逐次操作list里的每项,接收参数2个,返回一个结果
方法:
a = [1,3,5,4,2,3]
reduce(lambda x,y:x+y, a)
注:在python3中使用时需要from functools import reduce否则会报错:NameError: name 'reduce' is not defined
拓展:
计算5的阶乘
reduce(lambda x,y:x*y, range(1,6))

问题:使用tornado yield时出错tornado.gen.BadYieldError: yielded unknown object <generator object post at 0x7f1e870d7258>
解决:在方法上加上装饰器@gen.coroutine
方法:
from tornado import gen

class ApiCreateHandler(BaseHandler):
@login_required(7)
@gen.coroutine
def post(self):
... ...