小疑惑你是否有很多大朋友?Python是什么?能干什么?



先说结论,再来硬核的。

Q1:Python是什么?
A1:语言。

Q2:Python能干什么?
A2:事情。

怎么样,够简洁吧。

好了不皮了,先轻松一下嘛,咋往下看。
PS:以下码字以站在各位客官了解Python并尝试学习的角度来剖析。

写在前面:个人觉得吧,对于一门编程语言例如Python,其实去学习它,就像去学习一款新的大型工业软件例如Photoshop那样,保持正确的态度,平常的心态:把其数据类型、语法和一些内置库熟悉一下,慢慢上手之后差不多可以去愉快的玩耍啦~当然,首先你要明确知道一门编程语言是什么个概念。

A1:
Python是一门编程语言。

就像中国人使用普通话(掐指一算,其实我jio得普通话并不普通,到现在我都不是说的很飘准)传递信息。
和众多编程语言一样,Python是为了操作计算机硬件。
编程语言有成百上千种,例如贴近计算机硬件的朴素原始c、c编译过后会生成的汇编、目前的后端最强语言,岗位最多的java,还有很多,诸如go、c++、delphi等。

so,这么多编程语言,其实都是为了操作计算机硬件(人话:编程可以操控电脑)。多样的语言,多样的表现形式,组成各种各样的软件,自然就有不一样的性能。就像作者大学时候,宿舍里面有时候会讨论哪哪位小姐姐哪里哪里好,例如心地善良,为人直爽。(其实我只负责听着,真的。反正也毕业了,舍友应该不会打我吧)。

Python是一门当今的社区活跃的热门语言。

三月,TIOBE 编程语言排行榜。排名前20:

Python排名历史:
2004 年起 Python 的使用率呈线性增长,不断受到编程者的欢迎和喜爱;
2010 年,Python 荣膺 TIOBE 2010 年度语言桂冠;
2017 年,IEEE Spectrum 发布的 2017 年度编程语言排行榜中,Python 位居第 1 位。

错过了 C/C++ 的 PC 时代,又错过了 Java 的互联网和智能手机时代,你还想错过 Python 的人工智能和大数据时代吗?Python 正位于软件产业的第四次风口之上,把握好风口,你就能飞起来。(口嗨)

ps:
如果对于非纯计算机的,例如金融行业或者其他行业的人员,Python可以帮你完成一些工作或者业务的自动化,例如使用Python操作excel,自动进行数据搬运和处理。
如果是计算机行业的,选择语言需谨慎,最好预调研每一门语言的性能特点,认真挑选武器。例如,嵌入式开发等与硬件直接交互的,写系统驱动的,还是原生的c语言(运行速度仅次于机器码和汇编,当然,大佬您若是汇编强者,小生不阻拦您徒手撸)更合适;想往后端发展的,java是该领域的王者(Python也行,但是优势只有部署落地快,性能方面不够强,若是面对高访问量,高并发等情况,服务器容易宕机。当然,若是访问量没有千万级别,例如只是做个监控平台啥的,使用Python搭建很快)

Python是一门解释型语言。
计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将用编程语言写的源代码转换成二进制指令。所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 和智能手机)能使用成百上千个指令。

编译型语言和解释型语言。
编译型语言:有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Golang、Pascal(Delphi)、汇编等,这种编程语言称为编译型语言,使用的转换工具称为编译器。
解释型语言:有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器。

Python是一门简单易学,落地快的语言。

事实证明,编程语言也会不断进步,越来越高级。
Python语法简单,学习成本相对其他语言较低。

写同一段代码,也许c或者java需要100行,而Python只需要20行。
Python标准库和第三方库众多,功能强大,既可以开发小工具,也可以开发企业级应用。底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的
但是由于高度封装,牺牲了部分性能,但也获得更好的智能。
牺牲性能是因为:
解释型语言是需要一边运行一边“翻译”源代码。“翻译”几行、几千行、或者几十万条代码转成机器码需要时间。
Python是动态语言,且能自动管理内存分配。不像c那样,还需要关心堆栈、虚拟内存或函数的返回类型等等,Python把很多底层细节都屏蔽了,能自动智能的管理分配。也就是因为这个智能,Python需要做更多判断等工作,某些操作是很消耗资源的。

A2:
Python可以后台操作办公软件。

后台操作的意思是:没有图形界面,不需要可视化操作,不需要点击,直接调用api操控。人话:直接代码发送命令控制。

(1).Excel:方便地实现对 excel 文件的增删改写、格式修改、数据清洗、数据处理等(作者已亲测帮忙踩坑,推荐两个第三方库:xlwings【读取excel文件数据的速度在各种处理excel的库中最快】和pandas【可读写excel和csv文件,同时是数据分析的必备库】)。

(2).Word:处理文本、风格、页眉脚、图片、形状、获取里面的表格的数据等(python-docx库不错)。

(3).PDF:PDF自动化操作。作者没咋使用实操过,客官可自行谷歌。

(4).PPT:ppt的自动化处理,例如图表、文本、形状、占位符、幻灯片、调色等。(库工具有:pywin32com、pptx)

(5).邮件:实现发送、接收、读取等一系列自动化操作(smtplib、imaplib、email 三个库配合使用)。

实现数据处理的自动化。在企业数字化转型的风口下,办公自动化,您,值得拥有。

Python可以做数据爬虫。

什么是爬虫?首先各大搜索引擎就用到爬虫,例如百度搜索引擎。

人话:爬虫能爬网页上一些特定的你需要的数据。

爬虫原理:
一.模拟浏览器向服务器发送http请求,获取网页源码。
二.解析网页源码,获取数据。
三.根据url规则,循环爬取或者分布式爬取。
四.破解反爬机制。

爬虫技术:
一点点的前端知识和网络通信知识:
懂一点HTML超文本标记语言(在网页中用于包裹信息,可理解为容器)和JavaScript脚本语言(在网页中用来构写函数,从而实现客户与网页的动态交互,在这里学习主要用来破解反爬机制)还有http通信原理(客户端(浏览器)与服务器(其实也就是一台放在机房的电脑,里面存放我们要访问的数据)的通信就遵循http协议。其实http通信技术也是封装过的了)
正则表达式:
将获取到的有格式的网页源码解析(Python有很多解析的库,例如 lxml),通过正则表达式匹配来找到到自己想要的数据。
爬虫库(例如requests)和自动化操作浏览器的库(selenium)
还需要知道怎么会话保持(cookies和session)
俗话说,爬虫玩的好,牢饭吃到饱。
爬虫这个技术本身并不违法,但是如果使用爬虫来获取隐私或者商业数据,就构成违法了。所以,爬虫需谨慎。

Python可以做数据分析、可视化

将海量的源数据,进行数据分析(numpy库和pandas库)

数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。图形可视化,更直观。

                                      matplotlib

                                         vincent

Python可以做web开发。
网站开发。web开发属于BS端。
Python的web开发属于BS端的后端(server)。(前端目前就只有三种流行框架:比较老了的argular、中小型企业非常喜欢使用也是目前主流的vue和大型项目用到的react。这三种框架都是js封装的。)目前Python主流后端框架:重量级的Django框架,轻量级的flask,处理高并发的tonardo(遵循MVC模式,model模块、view视图和control控制器)

CS端:
Client(客户端)&Server(服务器)。客户端、服务端之间需要使用Socket,约定协议、版本(往往使用的协议是TCP或者UDP),制定地址和端口,就可以通信了。

BS端:
Browser(浏览器)&Server(服务器)。
Browser浏览器,一种特殊的客户端,支持HTTP(s)协议,能够通过URL向服务端发起请求,等待服务端返回HTML等数据,并在浏览器内可视化展示的程序。
Server,支持HTTP(s)协议,能够接受众多客户端发起的HTTP协议请求,经过处理,将HTML等数据返回给浏览器。
本质上来说,BS是一种特殊的CS,即客户端必须是一种支持HTTP协议且能解析并渲染HTML的软件,服务端必须是能够接收客户端HTTP访问的服务软件。
HTTP协议底层基于TCP协议实现。

人话:其实web网站开发,就是前端做个好看的界面显示(可以想象成PPT),后端做个程序一直运行,并在某个端口监听(wsgi,web server gateway interface),当监听到网络上有关于该网站的请求,就做数据处理,发送数据,展示在界面(PPT)上。

软件测试

自动化测试:web自动化测试(selenium)、APP自动化测试(Appium)和接口自动化测试(requests)。

性能测试
开发小工具
搭建测试平台

运维

关于运维方面,作者只接触过docker容器技术,就不班门弄斧了。

人工智能

人工智能的核心是算法和模型。门槛较高,就目前作者所见,招聘的学历要求都是研究生或以上,基本不招本科生(当然,要是你实力超群,那当我没说),且还需要高等数学,线性代数,概率论数理统计和随机过程,离散数学,数值分析。

引用知乎上某位大佬的回答。

不管是人工智能方面还是软件开发等其他方面,实际上不都只是一门语言肝到底,适可而止,灵活运用,方能扶摇直上。(当然前提你得会)

我是Albert,一位小小工程师。
如果觉得文章还不错的话,欢迎一键三连~
您的支持是我坚持写小作文的一大动力!!!
如果有什么意见或者建议的话,欢迎大家留言~~~
如果希望以后出其他的内容,也欢迎留言~~~

关于Python,你想知道的都在里面~相关推荐

  1. python你想知道的都在这里 python资源大全中文版

    Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...

  2. python高分书籍推荐_史上最全的Python书排行榜|你想知道的都在这里

    原标题:史上最全的Python书排行榜|你想知道的都在这里 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答.求职一站式搞定 ...

  3. python爬取颤音_Python难学吗,本人数学和英语都很差,想学,都是兴趣爱好

    Python难学吗,本人数学和英语都很差,想学,都是兴趣爱好以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Python ...

  4. python处理office文件的第三方库_Python读写Excel文件第三方库汇总,你想要的都在这儿!...

    Python Python开发 Python语言 Python读写Excel文件第三方库汇总,你想要的都在这儿! ---恢复内容开始--- 常见库简介 xlrd xlrd是一个从Excel文件读取数据 ...

  5. 【Python基础】关于日期特征,你想知道操作都在这儿~

    今日锦囊 特征锦囊:关于日期特征,你想知道操作都在这儿- ???? Index 字符串转日期 日期转字符串 13位的时间戳转 日期格式str 13位的时间戳转datetime 10位的时间戳转 日期格 ...

  6. 引子 我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应

    引子 我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应 ...

  7. 6位专家耗时90天打造,Python的核心知识,都在这里了!

    最近几年 Python 语言超级火爆,不只是编程圈内火,各行各业的圈子里也都在讨论. 为什么突然之间,各行各业的人都来学习 Python 呢? 作为从业者,我就经常被用户询问:为什么要学 Python ...

  8. 大龄开发者究竟该何去何从?2019年Python全栈工程师,都是开发人员改怎么转向高收入?

    是继续做技术还是"强迫"自己转型做管理? 作者 | Petr Zemek 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 很多人因为喜欢 ...

  9. 转行经验分享,关于软件测试的感悟,你想知道的都在这里……

    你是否和其他大多数人一样经历了从半个月找工作到1个月,再到2个月.3个月甚至半年的经历.简历石沉大海,面对现实的不堪,自我否定.焦虑抑郁,怀疑自己 已成为大多数人曾经或现在正在经历的状态.当然,也有一 ...

最新文章

  1. 最近很火的 ClickHouse 是什么?
  2. 我理解的配置管理系统
  3. Android热修复之 - 收集崩溃信息上传服务器
  4. 代码合并工具_分享几款比较常用的代码比较工具
  5. Android13_fragment_view动画_属性动画
  6. 【红茶原创】-MRTG Install In RedHat AS4
  7. python selenium框架搭建_python + selenium 自动化框架搭建
  8. Score UVA - 1585
  9. 书摘---创业36条军规7:业务的五个问题
  10. 对this.name=name的理解
  11. 计算机科学与技术考研双非,985弱势“好考”专业与双非王牌专业大汇总!考研报考必备!...
  12. CodeChef Graphcnt:Counting on a directed graph(支配树)
  13. mysql 变量 数据类型_MySQL(MySQL的数据类型)
  14. java#python#c#技术交流QQ群
  15. 美团java面经校招本科_美团java社招经历分享
  16. 网络知识入门,深入了解ACK控制位,网络传输缓慢的毒瘤:ACK等待时间  (五)
  17. 设计模式(八)桥梁模式(Bridge)
  18. “打死我,我也不去美国当市长!”
  19. fopen函数matlab_无网格法与Matlab程序设计(11)——无网格径向基插值法:程序实现...
  20. linux高级文档,linux高级文件数据操作

热门文章

  1. ds3231 linux驱动移植
  2. iis配置完成,出现HTTP 错误 403.14 - Forbidden
  3. Ionic二维码扫码插件QR Scanner不能扫描一维码问题(只解决了android)
  4. mysql连接报错1251
  5. 【UE4】基于Spline的测距功能
  6. Day27-万物皆对象
  7. Macos上的专业加密通讯工具,十分安全。使用了信号协议,该协议结合了预密钥,Double Ratchet算法和3-DH握手信号。
  8. Unity3d-打靶游戏
  9. ceph提供iscsi
  10. iPhone网易新闻和凤凰新闻客户端