有多少伙伴是因为一句‘人生苦短,我用Python’就要去学Python的?之前也大家更新过Python学习教程普及过多次的Python相关知识,不过大家还是还得计划一下Python学习路线!Python入门前,一定要知道这些,你只有了解它,才能深入它!

python是什么?

编程开发语言有很多种,通常大家把开发语言划分为静态编译和动态解析语言,静态编译语言有我们常见的c,c++等,动态解析语言有我们常见的python,php等。静态编译语言其中一个明显的特征是:需要对源代码进行编译成可执行的二进制代码,变量需要定义成明确的类型;动态解析语言的特征是:代码由解析器进行解析并执行,变量类型可以在运行时动态定义。目前也有很多动态解析语言可以编译成二进制代码方式运行以提高效率,减少了因为解析器解析后执行带来的性能损失。语言之争一直是大家争论的问题,也是一个敏感的话题,本文的目的不在于给大家洗脑说明python是最好的语言,世上本没有最好的语言,只有最合适的语言和最好的程序员。本文只是通过介绍python,让大家认识到这门语言的优点,以及在工作生活中如何利用python解决问题。

python可以做什么?

如果把开发按照层次划分的话,可以分成系统开发(主要是一些系统性功能的,比如网络服务,文件服务,系统调用等);业务逻辑开发(主要是一些业务逻辑的,比如计费,财务,权限等具体跟操作系统或者底层关系不大的)。python无论在系统开发还是业务开发方面,都能够很好地满足开发者的需求,帮助开发者顺利完成任务,这不仅得益于python语言本身的特性,还有赖于丰富的官方和第三方模块库。

python常见的模块

webpy模块,用它只需要几行代码就可以实现一个web服务器

SocketServer模块,用它可以很方便地开发自己的tcp,udp服务器

subprocess模块,用它可以创建和管理进程

threading模块,用它可以创建和管理多线程

queue模块,是一个线程安全的队列

json模块,这个一看就知道是用来处理json数据的了

logging模块,这是一个日志模块

shutil模块,这是一个文件管理模块,包含了文件的基本操作

urllib模块,是一个http的常用模块

还有很多标准和非标准的模块,只有你想不到的

为了更好地管理python模块,python还有专门的模块管理工具,像centos的yum那样可以查找,安装需要的模块,python包管理工具最常见的有pip,关于查找,安装,使用模块,我们会在以后的python系列文章讲述。

python做了些什么?

很多伙伴会有疑问,Python能做什么大项目吗?有实际的例子吗?

那是自然,下面这些比较出名的都是用python写的项目:

BitTorrent,知名BT下载软件

OpenStack,开源云平台框架

Yum,CentOS的包管理工具

google内外部大量服务使用python开发,如gmail,earth,maps等

豆瓣,国内出名的社区,python是豆瓣的主要开发语言等等

是不是躁动着惴惴不安的心又安分了一些?哈哈!

为什么要学python

看了以上两点之后,我觉得还不足以打动大家去学习python,下面讲述为什么要学python,以及哪些人适用python?

人生苦短我用python

下面我们一直会围绕这句话来开展讨论的内容,假如你是一个有老婆,孩子的开发人员(你老婆很漂亮,你孩子很可爱,这个很关键,再记住你是有老婆,孩子的人了),周五快下班了,你约了老婆孩子去一家很难预约的餐厅吃饭,突然接到老板的任务,要你去做一个小程序,大概功能就是扫描服务器指定目录下(这个目录下面还有子目录)的文件,并检查文件开头1KB内容里面是否包含了某些关键字,如果包含则把这个文件删除。老板说这个很紧急,因为服务器磁盘撑爆了,必须要删除文件才行,但是距离下班只有不到30分钟了。

作为一个c,c++开发人员,你要考虑是用递归呢还是非递归来枚举文件夹下面的文件,枚举完了,你还要分配个内存读取文件开头的1KB内容,还要研究字符串查找匹配的算法,别忘了,搞完之后要释放内存,关闭文件句柄,结果写之前花了不少时间构思,写完了,又花了不少时间调试,还不包含是否出现内存越界等导致程序崩溃的bug,结果要加班,不能陪老婆孩子去吃饭了。

作为一个java开发人员,你比较幸福,少了c,c++的内存泄露,忘记关闭句柄的烦恼,不过你还需要想想这里面有多少个可以抽象成类的东西,接口怎么设计,找找java有没有现成的包可以用,然后折腾一下编译java项目,然后调试,结果你可能只需要加班一点点时间就能赶住配老婆孩子吃饭了。

作为一个python开发人员,我知道枚举文件夹目录下的文件可以用os模块里面的listdir函数,返回一个list列表,用open打开文件然后直接read数据,用字符串find函数可以找是否有匹配的关键字,别忘了python还有一个with功能,我with open文件之后我就不用管后面的异常和是否关闭文件句柄了,with会帮我擦屁股,最后调用os模块的remove函数删除文件就可以了。最后,这位python开发人员准时完成任务下班配老婆孩子吃饭并得到老板的称赞。

以上纯粹YY,不过从这样一个YY的故事可以侧面反映出一种现象,很多东西,我们可以用比较简单快捷的python来完成任务,没有必要动不动就用c,c++这些语言。人生的时间很宝贵,应该把时间浪费在美好的事情上面,python有很多现成官方,第三方的库,都是平时大家在工作中提炼出来,都是复用性很高而且很稳定的,再加上python本身的特性可以免去比如c,c++的一些蹩脚的地方,比如容器,字符串操作等容易出现泄漏,越界的问题。最后,这个故事没有黑c,c++,java语言的意思,每一种语言都有各自擅长的地方,但是我们应该多学习一种顺手方便的语言,来解决一些小问题,小事情,把有限的精力花在重要的地方去。

python既可以完成大的项目也可以完成小任务,所以无论是开发人员,还是运维人员,都可以用python来解决工作中的大大小小问题,同时许多API或者库对python支持都非常良好,特别是一些本身就用python写的库,原生就支持python接口的。

怎么学python

讲了这么多,这里先简单概要说一下怎么学python,其实也简单,无论学什么语言无非就是多练手,多写代码,多看别人的代码。后续会继续跟大家分享更多的 Python学习教程和。有兴趣学Python的伙伴可以行动起来了!

我学python前一句_Python学习教程:人生苦短,我用Python?入门前你要知道这些相关推荐

  1. pythonurllib爬虫教学_Python学习教程:这里是Python爬虫的起点,抢占资源啦

    原标题:Python学习教程:这里是Python爬虫的起点,抢占资源啦 今天跟大家出的这篇文章,是从爬虫的起点开始讲起,这里的Python学习教程,一篇文章带你贯穿爬虫始末!之前也够跟大家出过相关的P ...

  2. python的dropna函数_Python学习教程:从Excel到Python最常用的32个Pandas函数(一)

    原标题:Python学习教程:从Excel到Python最常用的32个Pandas函数(一) 本次的Python学习教程涉及pandas最常用的36个函数,通过这些函数介绍如何完成数据生成和导入.数据 ...

  3. python 3 字典排序_Python学习教程实用技法:通过公共键对字典列表排序—itemgetter...

    Python学习教程实用技法:通过公共键对字典列表排序-itemgetter 前言:我们有一个字典列表,想根据一个或多个字典中的值对列表进行排序. 利用operator模块中的itemgetter函数 ...

  4. python复制列表元素_Python学习教程:Python列表赋值,复制,深拷贝及5种浅拷贝详解...

    Python学习教程:Python列表赋值,复制,深拷贝及5种浅拷贝详解 概述 在列表复制这个问题,看似简单的复制却有着许多的学问,尤其是对新手来说,理所当然的事情却并不如意,比如列表的赋值.复制.浅 ...

  5. python资本市场财务数据分析_Python学习教程:用Python进行金融市场文本数据的情感计算...

    今天我们的Python学习教程找点财经类新闻文本数据用Python来做点简单的情感分析. 一.tushare介绍 tushare库是目前比较流行的开源免费的经济数据库,tushare有普通版和高级版, ...

  6. python版本升级后编译_python学习笔记(7)--python版本升级

    本节点标题 1.python升级 1.1.查看原版本 1.2.下载新版本的python 1.3.解压缩 以及编译 1.4.覆盖原来的python链接 1.5.修复yum =============== ...

  7. python安装界面翻译_Python新手教程:40行python代码写一个桌面翻译器

    这是我做出来的粗略版本,后面的UI设计就看大家的艺术细胞了 Python资源共享群:484031800 我们进行制作软件所需要的模板库,首先要进行引用. # json requests thinter ...

  8. python将excel时间_Python学习笔记(一)Python时间戳与Excel的日期

    今天遇到一个比较实际的问题,从库存报表里面识别出最长库龄的零件,并计算出库龄. 思路很简单,将当前日期减去表格日期,得到库龄.找到max库龄就ok了. 以2行的日期为例,先print日期 d1 = s ...

  9. python如何做考勤_python基础教程:face++与python实现人脸识别签到(考勤)功能

    @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 这篇文章主要为大家详细介绍了face++与python实现人脸识别签到(考勤)功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一 ...

最新文章

  1. 移动端popstate的怪异行为
  2. KeUserModeCallback用法详解
  3. 判断数组中有该元素?
  4. ios UIWebView 播放优酷土豆视频
  5. 不要把时间画在抽奖上。。。去学习吧。。。
  6. 树莓派 rtl8188eu 芯片wifi驱动
  7. 记一次OpenJDK替换java JDK
  8. nc65右键生成菜单_DbSchema生成表单和报表,原来如此简单
  9. java密码学原型算法_java密码学原型算法实现——双线性对.pdf
  10. 安装Node.js和npm
  11. [Swift]LeetCode19. 删除链表的倒数第N个节点 | Remove Nth Node From End of List
  12. python __call__或者说func()()的理解
  13. idea上一步下一步快捷键_领航者的一步,左右行业的下一步!双11海尔洗衣机再夺冠的思考...
  14. Java-旋转字符串
  15. echarts图表x轴文字过多时换行显示以及图表画区域背景颜色
  16. Unity接入穿山甲广告(使用unity插件SDK接入)看这一篇就够了
  17. 网易有道词典bug记录
  18. 微信小程序仿网易云音乐(使用云开发,提供源码)
  19. ArcGIS Runtime Esri新的离线地图数据格式——移动地图包(转载自Esri中国)
  20. PMP项目管理—干系人问题

热门文章

  1. python中的函数、生成器的工作原理
  2. python教程:可变长参数(*args、**kwargs)、返回值(return)
  3. python基础教程:数值与字符串类型
  4. linux type命令(用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令,如果给出的指令为外部指令,则显示其绝对路径)
  5. armel、armhf、arm64、armv7l 系统架构区别与联系(AArch64)
  6. 【程序员の英文听写】Trump’s Totally Not Weird Way of Standing | The Daily Social Distancing Show
  7. 鸢尾花识别问题,萼片有什么用?
  8. 20200207_Dontla_MBTI第二步解释性报告(ISTJ(内向+感觉+思考+判断))
  9. Python 计算机视觉(六)—— OpenCV 进行图像量化与采样
  10. stm32 ucosii消息队列 串口_正点原子STM32F407探索者开发板资料连载第六十三章 UCOSII 实验...