随笔分类 -  python编程

PyVista:一款Python的三维可视化软件
摘要:本文通过对pyvista这一相对“冷门”的python三维可视化工具的摸索,总结了安装与基本的使用示例,包括单模块、多模块、静态图、动态画板、gif和mp4视频的导出等。总体来说pyvista是一款渲染效果很棒的可视化软件,但是性能相对来说没有那么可观,对于规模不大的体系还是一个非常好用的工具,推荐使用。
11320
0
1
从零开始制作PyTorch的Singularity容器镜像
摘要:这篇文章主要介绍Facebook所主导的机器学习框架PyTorch的容器化安装方法,基于HPC环境常用的Singularity高性能容器,并且兼容与结合了Docker容器镜像的生态,非常的友好。在容器化的编程环境中,我们不仅可以避免不同框架对于python库或者系统软件版本的依赖冲突,还可以很大程度上解决因为没有root权限以及网络外访权限的环境下所带来的极大的麻烦,故推荐使用这种方案进行安装和运行。
1891
2
0
python3读取文件指定行的三种方案
摘要:本文通过4个测试案例分析了在python中读取文件指定行内容的方案,并得到了一些运行耗时的数据。从需求上来说,如果是对于小规模的数据,比如几百行规模的数据,建议使用readline循环遍历来操作,速度也相当不错,或者是linecache中的函数实现也是可以的,甚至可以直接用readlines将整个文本内容加载到内存中。但是对于数据规模比较大的场景,比如超过了千万行的级别,那么使用sed指令的方式对指定行内容进行读取的方式,应该是所有方式中最快速的。
6312
0
0
python3之lambda表达式
摘要:本文主要展示了一些lambda表达式的使用示例,通过这些示例,我们可以了解到lambda表达式的常用语法以及使用的场景。在一般情况下,其最大的意义还是简化了python中函数的定义方式,在可读性上远不如def所定义的函数。
1472
0
0
python3使用迭代生成器yield减少内存占用
摘要:本文介绍了python的迭代器yield,其实关于yield,我们可以简单的将其理解为单个元素的return。这样不仅就初步理解了yield的使用语法,也能够大概了解到yield的优势,也就是在计算过程中每次只占用一个元素的内存,而不需要一直存储大量的元素在内存中。
858
0
1
python3函数可变输入参量
摘要:为了使得输入参数的可扩展性更好,python中自带了args和kwargs两种方法,可以用于表示一个tuple类型的可变长度入参。其中args是一系列的一元变量的输入,kwargs是一系列键值对的输入,可以认为是一个二元变量的输入。虽然这两种方案也都可以用自行实现的tuple来替代,但是直接使用这两种定义会节省很多自定义可变入参的繁琐。
532
0
0
python3存储numpy格式的矩阵
摘要:在科学计算中对于恒定不变的数据,不一定需要实时保存在内存中,或者是需要跨平台运算的数据,我们可以将其保存为numpy格式的列表文件npy或者npz。而如果存储的文件过大,本文也额外介绍了简单的tar压缩与解压缩的使用方法。
2591
0
0
使用numba加速python科学计算
摘要:本文介绍了numba的两个装饰器的原理与测试案例,以及python中两坐标轴绘图的案例。其中基于即时编译技术jit的装饰器,能够对代码中的for循环产生较大的编译优化,可以配合并行技术使用。而基于SIMD的向量化计算技术,也能够在向量的计算中,如向量间的乘加运算等场景中,实现巨大的加速效果。这都是非常底层的优化技术,但是要分场景使用,numba这个强力的工具并不能保证在所有的计算场景下都能够产生如此的加速效果。
1455
0
0
python3使用myqr生成链接二维码
摘要:二维码技术在日常生活和工业应用中都担任着非常重要的角色,这里我们可以使用python的myqr来生成个性化的二维码,比如带图片背景的二维码,或者是动态背景的二维码。经过测试,用微信扫码都成功的识别了出来,也就是说这些二维码都是可以直接拿来使用的。当然,现在技术都已经非常成熟,所以有很多线上的免费的二维码生成器可以使用,配套的也有二维码解码器,可以将生成的二维码翻译成文字。
846
0
0
python3美化表格数据输出结果
摘要:本文介绍了两种表格数据的打印工具:tabulate和prettytable的安装与基本使用方法。由于表格数据本身是没有对输出格式进行规范化的,因此打印出来的数据会显得比较杂乱,不利于直观的阅读。因此引入这两种工具,加强了输出结果的可读性。这两者在使用上各有优劣,tabulate支持更多形式的表格样式,而prettytable则使用了更加接近于数据库的操作形式,对于部分用户而言有天然的生态优势。
1534
1
0
python3使用tracemalloc追踪mmap内存变化
摘要:本文介绍了用tracemalloc来进行python程序的内存追踪的技术,以及简单的文件映射技术mmap的使用方法介绍和演示。通过这些案例,我们了解到,对于小规模的计算场景,可以将整个的需要计算的元素包含在内存中,这比较方便也比较快速。而对于大规模的文件场景,还是使用内存映射技术更加的快速,这个速度在本文中介绍的几个案例的运行中也能够体会到。内存映射技术已经有很多应用场景,比如前面介绍过的vaex就是得益于内存映射技术。
3151
0
2
python3使用kivy生成安卓程序
摘要:基于python也可以开发安卓APP,这需要使用到kivy库来进行开发,再通过buildozer来编译构建。这两个库的安装和使用方式都相对比较简单,我们推荐直接在本地的系统环境下直接部署使用,最大的困难其实在于部署的过程以及配置文件的修改,这也都是比较基础的操作了。最后我们演示了使用文本框和按钮事件,加上python的eval()函数和math数学仓库,实现了一个可以在移动端调用math库中的函数执行数学计算的简单APP,并提供了apk下载网盘地址。
11053
0
5
python3使用diagrams生成架构图
摘要:本文中通过python库diagrams展示了基础的架构图绘制的方法,库中提供了常用的AWS和k8S等场景下常用的组件标签,使得我们用python代码也可以绘制精美清晰的架构图。这里组件之间的连接和耦合关系,也可以通过简单的符号进行实现,这也得益于python中所特有的魔法函数。
2255
0
0
python3使用cv2对图像进行基本操作
摘要:本文介绍了使用opencv-python对输入图像进行处理的基本操作,包括图像读取、图像变换等。有了这些基础的操作支撑后,我们可以执行跟高层次的图像处理,比如常用于深度学习的卷积和池化操作,这里我们也作了简单介绍,并给出了使用示例。
7398
0
0
使用python的虚拟环境virtualenv
摘要:在前面几篇博客中我们介绍过docker等容器的编程环境解决方案,但是容器作为一个系统级的隔离方案,其实更加强调的是用户间的隔离,这一点也得益其对NameSpace技术的推广和使用。但是在一部分的场景下,比如快速构造一个纯净的python环境、轻量级的操作实现不同python包的共存,容器技术虽然也可以完成,但是功能显得过于冗余,这就需要使用到本文所介绍的virtualenv这样的一个python依赖管理解决方案。文中我们介绍了virtualenv的安装与基本的使用方法,做了一遍比较完整的演示。
1035
0
1
Python基础之告警定义与告警抑制
摘要:告警和异常信息的定义与处理,在网络编程项目和各种实际计算的场景中都会被用到。这里我们通过两篇博客进行了比较简单的介绍,对于没有特殊要求的用户而言,按照示例中给出的样板直接修改就能够使用。更多的时候是规范的要求,我们可能需要修改异常和告警所继承的类型。同时对于异常和告警信息,我们也能够有方案去进行抑制,更加适配各种不同的场景需求。
1120
0
1
Python3基础之构建setup.py
摘要:一个完善的python项目,不仅需要梳理好核心代码的软件架构,还需要定义好依赖文件、编译构建文件、API接口文档、编码规范门禁等。这里我们介绍了如何用setup.py文件来完善一个最简单的python项目,这也是每一个python开源项目所必须要具备的条件。
7536
0
4
Manjaro Linux平台用pyinstaller打包python可执行文件
摘要:通过pyinstaller我们可以将一个python项目打包编译构建成一个可执行文件,然后将该可执行文件放置到一个系统路径下,使得系统可以不需要路径也能够识别到这个可执行文件,这样我们就可以仅配置一些输入文件或者命令行的入参,来运行我们的项目。
4656
0
1
Python基础之异常定义
摘要:本文中介绍了常规python中的异常的定义方法,可以在自己的python项目中定制化的实现一些异常类。在定制化的类中我们可以给打印信息加上一些醒目的颜色,用于提醒用户以促进问题的修改。
347
0
0
python3表格数据处理
摘要:在这篇文章中我们介绍了三种不同的python库对表格数据进行处理,分别是xlrd、pandas和vaex,其中特别着重的强调了一下vaex的优越性能以及在大数据中的应用价值。配合一些简单的示例,我们可以初步的了解到这些库各自的特点,在实际场景中可以斟酌使用。
1637
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起

喜欢请打赏

扫描二维码打赏

了解更多