入门Python工程师 必须掌握的11个知识

  • 数码
  • 2024年12月23日
  • 入门Python工程师 必须掌握的11个知识 Python被誉为全世界高效的程式语言,同时也被称作是“胶水语言”,那它为何能如此受欢迎?下面千锋武汉Python培训小编就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因。 1、Python适用于哪些应用场景? 这个没有固定答案,很多人都说Python不适合开发GUI的程式

入门Python工程师 必须掌握的11个知识

入门Python工程师 必须掌握的11个知识

Python被誉为全世界高效的程式语言,同时也被称作是“胶水语言”,那它为何能如此受欢迎?下面千锋武汉Python培训小编就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因。

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

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

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

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

我个人还拿Python模拟过埠转发和DNS服务等,所以真的是要看真么用,而不是能怎么用。

另外大资料分析Python也是比较适合的,从载入到分析,再到储存结果等,Python有一整套的模组应对。

2、Python能够胜任大资料吗?

Python很适合做大资料相关的分析,内建的C编译的模组能应对常见的操作,个别极端的算法建议用C重写相关模组。

Python本身的特点更多的是高效率的开发和简单的维护,速度交给C去吧,更多的问题其实出自写程式码的人没有更好的使用,而不是效率不够高。比如排序,本来Python有非常高效的内建C编译的模组,却非要自己写算法,这样的结果不慢都是奇怪的。

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

C的效率是高,但框架搭起来也费劲,所以还是结合著来吧,也因此,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的面向物件特征如下:

封装

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

继承

类继承:

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

多重继承:

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

多型

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

6、如何快速掌握Python?

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

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

psutil:获取效能资讯

socket:基本网络通讯

IPy:IP地址相关处理

dnsptyhon:域名相关处理

difflib:档案比较

pexpect:屏幕资讯获取,常用于自动化

paramiko:SSH客户端

XlsxWriter:Excel相关处理

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

7、Python是否有专用的IDE工具?

有,IDEL用Python实现的Python的IDE工具,但说实话,功能真心不咋地。我个人常用的IDE如下:

PyCharm

PyCharm是JetBrains开发的Python IDE。PyCharm用于一般IDE具备的功能,比如,除错、语法高亮、Project管理、程式码跳转、智慧提示、自动完成、单元测试、版本控制……另外,PyCharm还提供了一些很好的功能用于Django开发,同时支援Google App Engine,更酷的是,PyCharm支援IronPython!

Wing IDE

Wingware的Python IDE相容Python 2.x和3.x,可以结合Django,matplotlib,Zope, Plone,App Engine,PyQt,PySide,wxPython,PyGTK,Tkinter,mod_wsgi,pygame,Maya,MotionBuilder,NUKE,Blender和其他Python框架使用。Wing支援测试驱动开发,集成了单元测试,nose和Django框架的执行和除错功能。Wing IDE启动和执行的速度都非常快,支援Windows,Linux,OS X和Python versi。

NotePad++

简单、方便,但仅适合临时性的更改。

其他的还有:Eclipse withPyDev、Sublime Text、Komodo Edit、Pyer、The Eric Python IDE、Interactive Editor for Python

8、运用Python实现系统自动化监控有哪些常用方法?

准确的说应该是有哪些模组,健康监控肯定要有psutil来监控效能,还会用到通讯的Socket,登陆的Paramiko、telnetlib,ftp的ftplib。

原理基本就是采集资料——本地处理资料——传输资料,如果做的比较完善可以再做个呈现资料,也可以吧资料传送给Zabbix等开源工具。

个人还用一个开源监控网络刺探的,超过指定次数就自动。

9、Python可执行在那些平台?跨平台性如何?

支援常见的主流平台,如AIX、HPUX、Solaris、Linux、Windows等,除Windows外常见的Unix、Linux平台均带有原生的Python,但版本一般较低。关于跨平台和他跨平台语言一样,要注意有些个别模组是单一平台特有的,整体的跨平台性还是很好的,不必为适应多平台写多套程式码。

但这不是说一点限制都没有:首先,同一个版本的中间档案.py和.pyc以及.pyo是跨平台的;其次,PC与移动终端,如:手机、Pad不可跨平台(原因见下一条);最后,不能跨处理器构架,如:Intel与ARM,64位与32位。

10、如何利用Python提高开发效率?

因为Python很多底层的东西不用自己写,模组资源丰富,运用得当开发效率当然会提升,而且各种框架也为快速开发提供了基础。

11、Python执行速度如何?

通常Java的速度比Python快些。Python呼叫C扩充套件除外(也可以直接用CPython)。

对于Python速度太慢的批评,Python语言作者Guido van Rossum说:

如果你开发的系统发现了效能瓶颈,通常最有效率的做法是找到出问题的程式码块,用速度较快的语言如C或C++写一些程式码替换该功能或该模组,而不是用C或C++重写整个系统,因为对大部分程式码而言,语言的速度是无关紧要的。

学习是一个人最大的修养,通过学习不仅可以提升自己的境界,还能丰富知识,为以后的就业打下基础,学习Python更是一个发展自己的好机会,毕竟人工智能时代已经到来,Python作为人工智能时代的主力军是非常有前景的,梦想没有腐朽,一路还有汗流。加油!

如果你也想入门高薪Python人工智能行业,欢迎你来到千锋武汉Python培训机构学习。千锋武汉Python培训坚持全程面授讲课,由拥有大型企业专案实战以及数年教学经验的讲师进行授课。千锋武汉Python培训课程包括Python专案,爬虫、服务丛集、网站后台、微信公众号开发,Python机器学习与资料探勘,资料分析框架与实战,Python 物联网树莓派的开发等,以培养Python全栈开发工程师为主!23周带你一站式搞定必会必知全部技能,让你在人工智能时代脱颖而出。

选择千锋武汉Python培训,掌握专业的Python知识,为自己未来高薪就业做好铺垫!关注“武汉千锋”微信公众号,可以免费获得更多Python学习资料。

猜你喜欢