Python语言学习之Python入门不知道这些你还是承早放弃吧
小标 2019-02-21 来源 : 阅读 752 评论 0

摘要:本文主要向大家介绍了Python语言学习之Python入门不知道这些你还是承早放弃吧,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了Python语言学习之Python入门不知道这些你还是承早放弃吧,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

Python语言学习之Python入门不知道这些你还是承早放弃吧

Python 简介


Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。


Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。


Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。


Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。


Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。


Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。


Python入门不知道这些你还是承早放弃吧!真的


需要资料可以加下


Python 发展历史


Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。


Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。


像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。


现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。


Python 特点


1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。


2.易于阅读:Python代码定义的更清晰。


3.易于维护:Python的成功在于它的源代码是相当容易维护的。


4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。


5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。


6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。


7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。


8.数据库:Python提供所有主要的商业数据库的接口。


9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。


10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。


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 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。


Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。


Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。


Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。


资料、


Python 发展历史


Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。


Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。


像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。


现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。


Python 特点


1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。


2.易于阅读:Python代码定义的更清晰。


3.易于维护:Python的成功在于它的源代码是相当容易维护的。


4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。


5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。


6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。


7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。


8.数据库:Python提供所有主要的商业数据库的接口。


9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。


10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。


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频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程