使用类型注解让Python代码更易读
我们知道 Python 是一种动态语言,在声明一个变量时我们不需要显式地声明它的类型,例如下面的例子:
12a = 2print('1 + a =', 1 + a)
运行结果:
11 + a = 3
这里我们首先声明了一个变量 a,并将其赋值为了 2,然后将最后的结果打印出来,程序输出来了正确的结果。但在这个过程中,我们没有声明它到底是什么类型。
但如果这时候我们将 a 变成一个字符串类型,结果会
...
Python的列表+和+=操作的区别
今天我们主要探讨的是:python - If x is list, why does x += “ha” work, while x = x + “ha” throw an exception?
问题众所周知,在 python 中,+运算符可以使用在列表上,+运算符只需要第二个操作数是可迭代的,那么 + 显然可以运算在 “ha” 上。
代码:
1234567891011121314In [1]:
...
我说 SELECT COUNT(*) 查询很慢,面试官让我回去等通知
非原创文章,文章原址:我说 SELECT COUNT(*) 查询很慢,面试官让我回去等通知
我们看下下面两个获取表大小的SQL
12SELECT COUNT(*) FROM SomeTableSELECT COUNT(1) FROM SomeTable
这两个SQL会导致慢查询,原因是会造成全表扫描,有位读者说是有问题的,实际上针对无 where_clause 的 COUNT(*),MySQL 是
...
MongoDB查询索引分析
无论是mysql还是mongo,数据库是一个系统最容易出现问题、瓶颈的地方。mysql出现问题时,相信大家都有一套完善的调试、调优方法,从最基础的查看slow log,query log到mysql explain查询索引分析等;而由于在mongo方面的技术积累没有mysql那么多,出现性能问题时,往往需要去花很大的精力进行调优。
索引mongo中的索引跟mysql中索引同样重要,没有索引,
...
Python异常记录Traceback模块详解
今日记录一下一个非常好用的模块:traceback
1234567891011121314# -*- coding:utf-8 -*-def func1(): raise Exception("--func1 exception--")def main(): try: func1() except Exception as e: print(e)if
...
ffmpeg转码报错 Too many packets buffered for output stream 0:1.
如果你在使用ffmpeg转码的时候发生以下报错:
12345678Stream mapping:Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))Stream #0:1 -> #0:1 (aac (native) -> aac (native))Press [q] to stop, [?] for helpToo ma
...
SQLAlchemy中实现批量更新
如果在MySQL中你想批量更新一些已经准备好的数据而不是简单的UPDATE SET的话,还是有点小难办的。去网上查询会建议你使用INSERT ... ON DUPLICATE KEY UPDATE等方法。
虽然INSERT ... ON DUPLICATE KEY UPDATE不失为一个好的方法,但是总觉得怪怪的,我认真谷歌了一下发现SQLAlchemy官方还是支持批量更新的实现
...
Python源文件一行字符过长造成的问题
网上看到的一个不错的帖子 记录下
新建一个Python文件输入以下内容:
123e = {'合作社', '经济', '财税', '账', '旅行社', '维修', '押运', '管理咨询', '基业', '养生', '雕塑', '上海警', '首饰', '商行', '电脑', '人才网', '素食', '日用制品', '铝制品', '百货', '银行', '产业园', '商学院', '驾
...
自定义Tornado请求日志格式
tornado源代码分析
打开site-packages/tornado/log.py,最开头的注释文档说明了tornado的日志模块是直接和logging模块集成的
123456789101112131415"""Logging support for Tornado.Tornado uses three logger streams:* ``tornado.access``: Per-requ
...
Python中更优雅的日志记录方案loguru
前面我们学习了Python的日志模块,发现想要使用不是开箱即用,而是需要进行一系列的配置。那么,有咩有直接开箱即用的日志库呢?答案当然是有的,今天我们学习下loguru模块。
安装
1pip install loguru
基本使用
那么这个库怎么来用呢?我们先用一个实例感受下:
123In [1]: from loguru import logger ...: ...: logge
...