1. 如何完成字符串和日期的相互转换,请举例说明?
strptime():将字符串按照指定格式转换为时间类型: start_date = datetime.strptime(start_date, "%Y-%m-%d")
strftime():将时间类型的数据按照指定格式转换为字符串: start_date = datetime.strftime(start_date, "%Y-%m-%d")
2. 在使用==进行比较时,其实内部自动调用的是对象内置的方法__eq__(self,other),请举例说明?
class Foo:
def __eq__(self,other):
return True
f=Foo()
f==1 # True
f=="dog" # True
3. 请写出房源列表数据在redis缓存中的数据格式?
hset "house_起始_结束__区域id_排序":
{
"页码":当前页码对应的json数据,
"页码":当前页码对应的json数据
}
4. 在redis中如何保证多条语句要么都执行成功,要么都执行失败?
try:
# 创建redis管道对象,可以一次执行多条语句,保证管道中的指令要么都成功,要么都失败
pipeline = redis_storage.pipeline()
# 开启多个语句的记录
pipeline.multi()
pipeline.hset(redis_key, page, resp_json)
pipeline.expire(redis_key, constants.HOUSE_LIST_PAGE_REDIS_CACHE_EXPIRES)
# 执行语句
pipeline.execute()
except Exception as e:
current_app.logger.error(e)