美文网首页
这6个基础知识助你进入Python世界!

这6个基础知识助你进入Python世界!

作者: 有用教育 | 来源:发表于2019-07-29 15:28 被阅读0次

    1、Python适用于哪些应用场景?

    这个没有固定答案,很多人都说Python不适合开发GUI的程序,但Python自己的IDE——IDEL和第三方的IDE——Eric就是Python写的。

    目前看到的更多的人是拿来写Web,使用如Django、web.py框架,没记错Flask也是。

    也有一个情况用的比较多,用Python当胶水,与各种语言结合,共同完成某软件功能,注意观察也许你会发现在安装一些软件的时候会有Python的身影。

    另外大数据分析Python也是比较适合的,从载入到分析,再到保存结果等,Python有一整套的模块应对。

    2、Python能够胜任大数据吗?

    Python很适合做大数据相关的分析,内置的编译的模块能应对常见的操作,个别极端的算法建议重写相关模块。

    Python本身的特点更多的是高效率的开发和简单的维护,更多的问题其实出自写代码的人没有更好的使用,而不是效率不够高。

    另外还要看需求是CPU密集型,还是IO密集型,如果是CPU密集型建议这部分操作由C实现,IO密集型的效率不会因为Python而有多少改变。

    3、Python是否可以完全代替Shell?

    完全可以,Shell的功能Python均可实现,而且代码量更少、结构更优、可阅读性更好,而Python可实现的功能Shell却不一定能,如运维中会用到的用于网络通信的Socket模块、用于WEB的Django框架、用于性能采集的psutil模块等,而且Shell对操作系统的命令依赖性较强,Python可在更大程度上规避。

    在一个Shell的IDE是个很大的问题,虽然Python的原生IDE不怎么样,但第三方的IDE还是功能十分强大的,虽然不能和微软的Virtual Studio相媲美,但也是能完全满足Python的开发需求的。

    再说下Python的效率问题,Python支持多进程、多线程以及协程(比线程更小一级),程序并发度是在Shell之上的。Python的核心模块基本都是用C实现的,因此效率更高。如有必要也可能将需要用Python实现的Python模块用C重写以提高效率,当然也可以直接用C Python,一个直接完全用C实现的Python解释器。

    4、Python是否可以访问常见的数据库?

    可以,Python可以访问常见的各种数据库,如Oracle、MySQL、Vertica、SQLServer等,加载相应的模块即可,模块列表如下:

    Oracle:cx_Oracle

    MySQL:MySQLdb

    5、Python开发是面向过程、函数还是对象?

    Python虽然是解释型语言,但从设计之初就已经是一门面向对象的语言,对于Python来说一切皆为对象。正因为如此,在Python中创建一个类和对象是很容易的,当然如果习惯面向过程或者函数的写法也是可以的,Python并不做硬性的限制。

    Python的面向对象特征如下:

    1.封装

    面向对象程序设计中的术语对象(Object)基本上可以看做数据(特性)以及由一系列可以存取、操作这些数据的方法所组成的集合。传统意义上的“程序= 数据结构+算法”被封装”掩盖“并简化为“程序=对象+消息”。对象是类的实例,类的抽象则需要经过封装。封装可以让调用者不用关心对象是如何构建的而直接进行使用。

    2.继承

    类继承:

    继承给人的直接感觉是这是一种复用代码的行为。继承可以理解为它是以普通的类为基础建立专门的类对象,子类和它继承的父类是IS-A的关系。

    多重继承:

    不同于C#,Python是支持多重类继承的(C#可继承自多个Interface,但最多继承自一个类)。多重继承机制有时很好用,但是它容易让事情变得复杂。

    3.多态

    多态意味着可以对不同的对象使用同样的操作,但它们可能会以多种形态呈现出结果。在Python中,任何不知道对象到底是什么类型,但又需要对象做点什么的时候,都会用到多态。方法是多态的,运算符也是多态的。

    6、如何快速掌握Python?

    阅读官方文档即可满足日常需求,官方文档有中文翻译(http://www.pythondoc.com/),更加方便学习。但这些都是基础的语法和常见的模块,Python学习重要的是模块,快速、高效的开发依赖的是模块的应用,站在前人的肩膀会省时省力的多。

    但学习Python其实最重要的是学习模块,而非语法本身,Python的语法十分简单,只要大学学过C或者数据结构课程,甚至完全没学过的人也是可以轻松掌握的。掌握了语法已经可以实现Shell的功能,但要想提高模块的学习必不可少,如运维人员经常用的有:

    psutil:获取性能信息

    socket:基本网络通信

    IPy:IP地址相关处理

    dnsptyhon:域名相关处理

    difflib:文件比较

    pexpect:屏幕信息获取,常用于自动化

    paramiko:SSH客户端

    XlsxWriter:Excel相关处理

    其他还有很多很多功能模块,每天也不断的有新的模块、框架、组件产生,如用于与Java Script做桥接的PythonJS,甚至Python还可以编写Map和Reduce。

    相关文章

      网友评论

          本文标题:这6个基础知识助你进入Python世界!

          本文链接:https://www.haomeiwen.com/subject/mfvbrctx.html