社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python编程方面的一些骚操作

python • 7 年前 • 499 次点击  

1. list切片的技巧 somelist[start:end:stride]

2. 多使用列表表达式

3. 数据量大的时候尽量使用生成器表达式代替列表表达式

4. 使用enumerate代替range

5. 合理利用try/except/else/finally

6. 线程方面的---使用concurrent.futures,实现并行计算

# 第一种的结果: 1.4s

# 第二种的结果: 0.4s

# 结果的提升是肯定有的,但是和网络情况有关系。


# 关于导入的包 concurrent.future

# 对于这个包里面的ThreadPoolExecutor和multiprocessing的Pool对比,作用实际上差不多,具体时间差异我还没怎么测试过.

# 但是如果你认真看源码的话会发现,实际上future的包在process的那一块也是调用multiprocessing的

# 按照源码的意思就是在子线程中运行多个python的解释器,从而实现并行.

# 但是一般的代码或者多线程爬虫上基本体会不出,因为爬虫的核心还是在网络速度上,而一般的代码也没必要

# 除非计算矩阵或者其他的需要巨大计算量的时候再考虑使用.

7. 与分析方面有关的---重视精度时使用decimal

8. 协作开发的时候尽量不要写import *

你的代码在导包的时候写了import *,你自己开发是很明白有什么方法的.
但是在协作开发或者开源项目的时候尽量避免.
因为其他开发者并不知道里面的方法是干啥的.

9. 配置文件独立化

# 例如一些数据库的配置,selenium的webdriver的配置,甚至开发的模式配置可以通过一些json格式的配置文件进行维护.

# 好处1: 在于这样管理项目不用"东奔西跑",为了一个全局变量找半天

# 好处2: 在协同开发的时候,可以不用变动的代码的情况下,根据自己的开发环境确定一些全局配置

# 缺点的话,实际上也算不上缺点.就是每次都要读取一次配置文件,代码的速度会减慢一点点,但是并不碍事.

作者:NullSpider

源自:https://juejin.im/post/5a17d1a6f265da432d27c871

声明:文章著作权归作者所有,如有侵权,请联系小编删除




今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Y5XiJ0Y14Q
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4337
 
499 次点击