Python——简单and强大
“ 代码都敲过完了,总得留个痕迹。”
转载自本人微信公众号----“简单的Python”,不定期开始更新,欢迎关注。
01简单
与C/C++、java、C#等语言相比,Python对代码的格式没有非常严格,总体比较宽松,非常贴近人类的语言,可读性非常好。Python与PHP、JavaScript一样,都是一种脚本编程语言,易于使用,举两个简单的例子:
-
Python不要求在每个语句的最末尾加上分号,起初刚开始用Python时,有其他编程基础的会很不习惯,不过你写上分号也是没问题。用久了就喜欢上这种无拘无束的编写代码的感觉了。
-
变量的定义,Python不要求指明类型。我们在Python中使用变量时,可直接对变量进行赋值,甚至可以给同一对象赋值不同类型的值,这点在其他编程语言中是比较难以接受的。
02强大
Python是一种面向对象的高级编程语言,它的强大体现在有众多的模块,Python的模块基本涵盖了所有的常见的功能。Python还具有脚本语言中最丰富的各种类库,基本涵盖了网络、文件、GUI、数据库、文本等等各类应用场景,举几个简单应用的例子。
- 常用于数据处理的NumPy扩展库,能够很方便的支持大量的数组与矩阵的运算,还提供了大量的数学函数库,仅仅简单的几十行代码,配合Matplotlib绘图库,可以非常方便快捷的显示各类数据统计图表(网上经常看到的一些数据分析课程用的图,很多都是用这些绘制出来的)。
- 如果经常开发图形界面、或者进行嵌入式上位机软件开发的朋友,除了C#外,可能会很熟悉Qt软件。Python中也有相同功能的PyQt库,也可以做出各种惊艳的界面程序,相比C++而言,个人认为开发难度大幅度降低。
- Python可以用来开发网站。Django是一个开源的Python Web框架,采用MTV框架模式(模型M,视图V和模板T),是一个具有完整架站能力的开源Web框架,很少的代码就能实现一个正式网站所需要的绝大部分内容。Django框架具有开发快捷、部署方便、可重用性高、维护成本低的特点。
- MicroPython可以用来进行下位机开发,MicroPython是Python的一个精简版本,在很多板子上可以通过通用的API实现对芯片GPIO的控制,实现诸多功能。目前市面上支持MicroPython的芯片种类还是比较多的,一般称之为Pyboard,常见的有STM32F4系列的芯片,STM32F7系列的芯片,还有我们在物联网中经常用的ESP8266,EPS32,Arduino等等,在MicroPython官网可以下载芯片相应的固件文件。用于下位机编程时,基本绕开了繁杂的各种配置代码,将精力集中于逻辑的处理中。
03缺点
-
作为一个解释型语言,Python的运行速度远远低于C/C++。不过这类缺点随着时代的进步,也不是一个什么大问题,毕竟0.01秒和1.01秒,用户也感觉不出来。
-
Python源代码的加密困难。解释型语言发布给用户的是源代码,不像C语言之类的可以打包成exe执行文件。不过如今也有专门用来将Python源码打包成exe文件的工具,我个人是经常写一些工作需要的Python小程序,然后打包发给同事使用,缺点是初次执行时,需要等待程序启动的时间较长。
04后记
一时心血来潮,便注册了这个公众号,想着当成一个笔记,回顾记录一下以前的学习过程,顺带复习一下,就是文笔烂了些,尽量写的通俗易懂些。
我个人用Python更多的时候是用来开发上位机软件,主要是用于各类设备的调试工具,也有下位机的开发,偶尔做一些数据分析的活儿。跟着项目走的好处是,入手一门语言时,可以学的很快。缺点也很明显,无法系统全面的了解这门语言,项目间隔一长就很容易遗忘。没有项目自己创造项目,实在没头绪的时候,网上还是有很多好的方案的。
新手入门没有编程基础的话,还是多看两遍基础的知识,了解数据结构,多写两遍简单的排序算法。切忌眼高手低,很多时候,简单的一段代码卡住了,才能发现自己的诸多不足。触类旁通,才是提高自己的最佳途径。
最后,公众号基本只会发布最基础的内容,也希望各位大神不吝赐教。后期主要分享一些PyQt5的相关内容,毕竟我用的最多的一个模块就是它,也更为熟悉一些。
Life is short,you need Python!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通