博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】提升Python程序性能的好习惯2
阅读量:4101 次
发布时间:2019-05-25

本文共 1995 字,大约阅读时间需要 6 分钟。

掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费。

追求性能极限是一个有趣的游戏, 而过度优化就会变成嘲弄了。虽然Python授予你与C接口无缝集成的能力, 你必须问自己你花数小时的艰辛优化工作用户是否买帐. 
另一方面, 牺牲代码的可维护性换取几毫秒的提升是否值得,团队中的成员常常会感谢你编写了简洁的代码。

上一篇文章,这篇文章是继续补充一些提升性能的一些技巧

''''''''''''''''''''''''''''''''''''''''# 2019年2月11日 11点00分# 作者:cacho_37967865# 文件:highFunction2.py# 主题:提升Python程序性能的好习惯2'''''''''''''''''''''''''''''''''''''''''import threadingdef high_fun():    # 1.如何使用锁    lock = threading.Lock()  # 创建锁    lock.acquire()    try:        print('使用锁的老方法')    finally:        lock.release()    # 更好的方法    with lock:        print('使用锁的新方法')    # 2.如何打开和关闭文件    f = open('F:\\new.txt')    try:        data = f.read()        print(data)    finally:        f.close()    # 更好的方法    with open('F:\\new.txt') as f:        data = f.read()        print('打开文件更好的方法:',data)    # 3.连接列表中字符串    names = ['raymond', 'rachel', 'matthew', 'roger', 'betty', 'melissa', 'judith', 'charlie']    s = names[0]    for name in names[1:]:        s += ', ' + name    print(s)    # 更好的方法    print(', '.join(names))    # 4.反向遍历列表    colors = ['red', 'green', 'blue', 'yellow']    for i in range(len(colors) - 1, -1, -1):        print(colors[i])    # 更好的方法    for color in reversed(colors):        print(color)    # 5.遍历一个集合及其下标    colors = ['red', 'green', 'blue', 'yellow']    for i in range(len(colors)):        print(i, '--->', colors[i])    # 更好的方法    for i, color in enumerate(colors):        print(i, '-->', colors[i])    # 6.遍历两个集合    names = ['raymond', 'rachel', 'matthew']    colors = ['red', 'green', 'blue', 'yellow']    n = min(len(names), len(colors))    print("min()函数:",n)    for i in range(n):        print(names[i], '--->', colors[i])    # 更好的方法    for name, color in zip(names, colors):        print(name, '-->', color)    # 7.遍历一个字典的key和value    d = {'id': 1,'nick_name': '十语荐书','content': '今日得到:'}    # 并不快,每次必须要重新哈希并做一次查找    for k in d:        print(k, '--->', d[k])    # 更好的方法    for k, v in d.items():        print(k, '-->', d[k])if __name__ == '__main__':    high_fun()

 

转载地址:http://lrgii.baihongyu.com/

你可能感兴趣的文章
configure: error: Please reinstall the BZip2 distribution
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
【增强学习在无人驾驶中的应用】
查看>>
《python+opencv实践》四、图像特征提取与描述——29理解图像特征
查看>>
《python+opencv实践》四、图像特征提取与描述——31 Shi-Tomasi 角点检测& 适合于跟踪的图像特征
查看>>
OpenCV meanshift目标跟踪总结
查看>>
人工神经网络——神经元模型介绍
查看>>
人工神经网络——感知器介绍
查看>>
人工神经网络——反向传播算法(BackPropagation)
查看>>
Windows 窗口底层原理
查看>>
一种函数指针的运用
查看>>
C++虚函数原理
查看>>
MySQL的索引
查看>>
今天,Python信息量很大!
查看>>
Flash 已死,Deno 当立?
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
都无代码了,还要程序员吗?
查看>>
面试想拿 10K,HR 说我只配7k?
查看>>
副业过万的程序员都知道的网站有哪些
查看>>