嗨咯大家好, 我是你们的笨蛋程序员灰南。
是的我就是那个花5000快来造福你们的笨蛋程序员
前言
为了让大家更好的理解和学习投入到Python自动化来
找到一份好的资料也是学习过程中,非常重要的一个点。你的检索能力越强,你就会越容易找到最合适你的资料。
我这边也整理了一些最新的面试题资料和Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC,源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。。
有需要的小伙伴可以戳这里免费领取可以点击这里,咱们一起进步
暗号:CSDN。
一、什么是Python
Python是一门优雅而健壮的编程语言
它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性。
它可以帮你完成工作,而且一段时间以后,你还能看明白自己写的这段代码。
你会对自己如此快地学会它和它强大的功能感到十分的惊讶,更不用提你已经完成的工作了!只有你想不到,没有Python做不到。
1.面向对象
建议:
面向对象编程为数据和逻辑相分离的结构化和过程化编程添加了新的活力。
面向对象编程支持将特定的行为、特性以及和/或功能与它们要处理或所代表的数据结合在一起。
Python的面向对象的特性是与生俱来的。
然而,Python绝不想Java或Ruby仅仅是一门面向对象语言,事实上它融汇了多种编程风格。
例如,它甚至借鉴了一些像Lisp和Haskell 这样的函数语言的特性。
2.可升级
大家常常将Python与批处理或Unix系统下的shell相提并论。
简单的shell脚本可以用来处理简单的任务,就算它们可以在长度上(无限度的)增长,但是功能总会有所穷尽。
Shell脚本的代码重用度很低,因此,你只能止步于小项目。
实际上,即使一些小项目也可能导致脚本又臭又长。
Python却不是这样,你可以不断地在各个项目中完善你的代码,添加额外的新的或者现存的Python元素,也可以重用您脑海中的代码。
Python 提倡简洁的代码设计、高级的数据结构和模块化的组件,这些特点可以让你在提升项目的范围和规模的同时,确保灵活性、一致性并缩短必要的调试时间。
“可升级”这个术语最经常用于衡量硬件的负载,通常指为系统添加了新的硬件后带来的性能提升。
我们乐于在这里对这个引述概念加以区分,我们试图用“可升级”来传达一种观念,
这就是: Python提供了基本的开发模块,你可以在它上面开发你的软件,
而且当这些需要扩展和增长时,Python的可插入性和模块化架构则能使你的项目生机盎然和易于管理。
3.可扩展
就算你的项目中有大量的Python 代码,你也依旧可以有条不紊地通过将其分离为多个文件或模块加以组织管理。
而且你可以从一个模块中选取代码,而从另一个模块中读取属性。
更棒的是,对于所有模块,Python 的访问语法都是相同的。
不管这个模块是Python 标准库中的还是你一分钟之前创造的,哪怕是你用其他语言写的扩展都没问题!
借助这些特点,你会感觉自己根据需要“扩展”了这门语言,而且你已经这么做了。
代码中的瓶颈,可能是在性能分析中总排在前面的那些热门或者一些特别强调性能的地方,可以作为 Python扩展用C重写。
需要重申的是,这些接口和纯Python模块的接口是一模一样的,乃至代码和对象的访问方法也是如出一辙的。
唯一不同的是,这些代码为性能带来了显著的提升。自然,这全部取决你的应用程序以及它对资源的需求情况。
很多时候,使用编译型代码重写程序的瓶颈部分绝对是益处多多的,因为它能明显提升整体性能。
程序设计语言中的这种可扩展性使得工程师能够灵活附加或定制工具,缩短开发周期。
标题虽然像C、C++乃至Java 等主流第三代语言(3GL)都拥有该特性,
但是这么容易地使用C编写扩展确实是 Python 的优势。
此外,还有像PyRex这样的工具允许C和Python混合编程,
使编写扩展更加轻而易举,因为它会把所有的代码都转换成C语言代码。
因为 Python的标准实现是使用C语言完成的(也就是CPython),所以要使用C和C+十编写Python 扩展。
Python的Java实现被称作 Jython,要使用Java编写其扩展。
最后,还有 IronPython,这是针对.NET或Mono平台的C#实现。
你可以使用C或者VB.Net扩展IronPython.
4.可移植性
在各种不同的系统上可以看到Python 的身影,这是由于在今天的计算机领域,Python取得了持续快速的成长。
因为Python 是用C写的,又由于C的可移植性,使得 Python可以运行在任何带ANSIC编译器的平台上。
尽管有一些针对不同平台开发的特有模块,但是在任何一个平台上用Python开发的通用软件都可以稍事修改或者原封不动的在其他平台上运行。
这种可移植性既适用于不同的架构,也适用于不同的操作系统。
5.易学
Python关键字少、结构简单、语法清晰。
这样就使得学习者可以在相对更短的时间内轻松上手。
对初学者而言,可能感觉比较新鲜的东西可能就是Python 的面向对象特点了。
那些还未能全部精通0OP(Object Oriented Programming,面向对象的程序设计)的人对径直使用Python还是有所顾忌的,但是00P并非必须或者强制的。
入门也是很简单的,你可以先稍加涉猎,等到有所准备之后才开始使用。
6.高效的快速原型开发工具
我们之前已经提到了Python是多么的易学易读。
但是,你或许要问了,BASIC也是如此啊,Python有什么出类拔萃的呢?
与那些封闭僵化的语言不同,Python有许多面向其他系统的接口,
它的功能足够强大,本身也足够强壮,所以完全可以使用Python开发整个系统的原型。
显然,传统的编译型语言也能实现同样的系统建模,但是Python 工程方面的简洁性让我们可以在同样的时间内游刃有余的完成相同的工作。
此外,大家已经为Python开发了为数众多的扩展库,所以无论你打算开发什么样的应用程序,都可能找到先行的前辈。
你所要做的全部事情,就是来个“即插即用”(当然,也要自行配置一番)!
只要你能想得出来,Python模块和包就能帮你实现。Python标准库是很完备的,如果你在其中找不到所需,那么第三方模块或包就会为你完成工作提供可能。
二、下载和安装Python
得到所有Python 相关软件最直接的方法就是去访问它的网站(http://python.org)。
为了方便读者,你也可以访问本书的网站(http://corepython.com)并点击左侧的“DownloadPython”链接一一我们在表格中罗列了当前针对大多数平台的Python版本,
当然,这还是主要集中在“三巨头”身上: Unix,Win32和 MacOS X。
正如我们在前面1.3.5小节中提到的,Python的可应用平台非常广泛。
我们可以将其划分成如下的几大类和可用平台:
- 所有Unix衍生系统(Linux,MacOS X,Solaris,FreeBSD等等)
- Win32家族(Windows NT,2000,XP等等)
- 早期平台:Mac0S 8/9,Windows 3.x,DOS,OS/2,AIX
- 掌上平台(掌上电脑/移动电话):Nokia Series 60/SymbianOS,Windows CE/Pocket
1.自己动手编译Python
对绝大多数其它平台,下载.tgz 文件,解压缩这些文件,然后执行以下操作以编译Python:
1.configure
2.make
3.make install
Python通常被安装在固定的位置,所以你很容易就能找到。如今,在系统上安装多种版本的Python已经是司空见惯的事情了。虽然容易找到二进制执行文件,你还是要设置好库文件的安装位置。
在Unix中,可执行文件通常会将Python 安装到/usr/local/bin子目录下,
而库文件则通常安装在/usr/local/lib/python2.x子目录下,
其中的⒉.x是你正在使用的版本号。MacOS X系统中,Python则安装在/sw/bin 以及/或者/usr/local/bin子目录下。
而库文件则在/sw/lib,/usr/local/lib,以及/或
者/Library/Frameworks/Python.framework/Versions子目录下。
2.在Windows 中,默认的安装地址是C:\Python2x。请避免将其安装在C: \Program Files目录下。
是的,我们知道这是通常安装程序的文件夹。
但是DOS是不支持“Program Files”这样的长文件名的,它通常会被用“Progra~l”这个别名代替。
这有可能给程序运行带来一些麻烦,所以最好尽量避免。
所以,听我的,将Python安装在C:\Python目录下,这样标准库文件就会被安装在C:\Python\Lib目录下。
3.运行Python
有三种不同的办法来启动Python。
- 最简单的方式就是交互式的启动解释器,每次输入一行Python代码来执行。
- 另外一种启动Python 的方法是运行 Python脚本。这样会调用相关的脚本解释器。
- 最后一种办法就是用集成开发环境中的图形用户界面运行Python。集成开发环境通常整合了其他的工具,例如集成的调试器、文本编辑器,而且支持各种像CVS这样的源代码版本控制工具。
4.其它实现
标准版本的Python是用C来编译的,又叫 CPython.除此之外,还有一些其它的Python实现。
- 只要有Java虚拟机,就能运行Jython
- 拥有访问Java包与类库的能力
- 为Java开发环境提供了脚本引擎·能够很容易的测试Java类库
- 提供访问Java 原生异常处理的能力●继承了JavaBeans特性和内省能力
- 鼓励Python到Java的开发(反之亦然)
- GUI开发人员可以访问Java的AWT/Swing 库
- 利用了Java原生垃圾收集器(CPython未实现此功能)
最后!
今天的文章就到这里结束啦,希望看完以后能对有一些不大不小的帮助。如果喜欢的可以点赞收藏关注,如果不行的话,那也得行(我们IT人不能说不行)球球大伙辽
如果大家感兴趣的话,可以学习交流讨论的,咱可以一起加油,可以点击这里,咱们一起进步