扣丁学堂教你Python的基础必备(一)
2018-08-06 10:56:56
398浏览
今天扣丁学堂关于以前参加学习python培训的同学都知道,python的基础还是很重要的,接下来的几天,小编会给大家分享python的基础必备。共分为四部分,今天先讲第一部分——Python语言介绍
Python语言,创始人GuidovanRossum(1956–?)
2000年10月16号,PYTHON2.0发布,实现了完整的垃圾回收,并且支持UNICODE,同时整个开发过程更加透明,社区对PYTHON的开发进度的影响逐渐增大。
2008年发布了Python3.0,但由于此版本并不完全兼容之前的广泛使用的2.4版本,为解决这个问题,python官方很快又推出兼容2.4和3.0两个版本的2.6和2.7过渡版本
1.1Python2.x和Python3.x的区别
1.2Python是一门什么样的语言?
编程语言主要从以下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言
编译型和解释型
编译型:有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了。但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文件中,作为不同的模块来组织。这时编译各个文件时就会生成目标文件(Objectfile)而不是前面说的可执行文件。一般一个源文件的编译都会对应一个目标文件。这些目标文件里的内容基本上已经是可执行代码了,但由于只是整个项目的一部分,所以我们还不能直接运行。待所有的源文件的编译都大功告成,我们就可以最后把这些半成品的目标文件“打包”成一个可执行文件了,这个工作由另一个程序负责完成,由于此过程好像是把包含可执行代码的目标文件连接装配起来,所以又称为链接(Link),而负责链接的程序就叫……就叫链接程序(Linker)。链接程序除了链接目标文件外,可能还有各种资源,像图标文件啊、声音文件啊什么的,还要负责去除目标文件之间的冗余重复代码,等等,所以……也是挺累的。链接完成之后,一般就可以得到我们想要的可执行文件了。
解释型。从字面上看,“编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样。打个比方:假如你打算阅读一本外文书,而你不知道这门外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读;或者,你也立刻让这名翻译辅助你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给你翻译。
两种方式,前者就相当于我们刚才所说的编译型:一次把所有的代码转换成机器语言,然后写成可执行文件;而后者就相当于我们要说的解释型:在程序运行的前一刻,还只有源程序而没有可执行程序;而程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行……所以,解释型程序是离不开解释程序的。解释型程序中,由于程序总是以源代码的形式出现,因此只要有相应的解释器,移植几乎不成问题。编译型程序虽然源代码也可以移植,但前提是必须针对不同的系统分别进行编译,对于复杂的工程来说,的确是一件不小的时间消耗,况且很可能一些细节的地方还是要修改源代码。而且,解释型程序省却了编译的步骤,修改调试也非常方便,编辑完毕之后即可立即运行,不必像编译型程序一样每次进行小小改动都要耐心等待漫长的Compiling…Linking…这样的编译链接过程。不过凡事有利有弊,由于解释型程序是将编译的过程放到执行过程中,这就决定了解释型程序注定要比编译型慢上一大截,像几百倍的速度差距也是不足为奇的。
编译型与解释型。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言
但既然编译型与解释型各有优缺点又相互对立,所以一批新兴的语言都有把两者折衷起来的趋势
动态语言和静态语言
通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。
(1)动态类型语言:指在运行期间才去做数据类型检查的语言,也就是说,不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。
(2)静态类型语言:数据类型是在编译其间检查的,写程序时要声明所有变量的数据类型
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
(2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同数据类型的值。
强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
python是一门动态解释性的强类型定义语言。那这些基因使成就了Python的哪些优缺点呢?我们继续往下看。
1.3Python能做什么?
Python是一门综合性的语言,你几乎能在计算机上通过Python做任何事情,以下是Python应该最广泛的几个方面:
云计算
网络应用:包括web网站、服务器后台服务等,在这方面Python有优秀的web框架如Django\Tornado\Flask等,网络服务框架有著名的Twisted,异步通信有牛X的eventlet.
科学运算
图形GUI:python提供了多个图形开发界面的库,包括PyQt,WxPython,自带的有Tkinter
系统运维:用它来轻松的开发自动化管理工具、监控程序等,现在很多开源软件也都是用Python开发的,如用于IT配置管理的SaltStack\Ansible,做虚拟化的OpenStack,做备份用的Bacula等。
其它程序:Python用来写爬虫也是很拿手的,还有做游戏,还可以用来做嵌入式开发、做驱动程序等
1.4Python的优缺点
先看优点
Python的定位是“优雅”、“明确”、“简单”
开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能
高级语言
可移植性
可扩展性
可嵌入性
再看缺点:
速度慢
代码不能加密,因为PYTHON是解释性语言
线程不能利用多CPU问题
以上就是扣丁学堂大数据在线学习小编给大家分享的学习python必备的基础之一,想要了解更多关于Python开发方面内容的小伙伴可以登录扣丁学堂官网咨询,扣丁学堂有专业的Python培训班邀请有理想的你加入。扣丁学堂不仅有专业的Python培训班供大家学习,还有与时俱进的课程体系和大量的Python在线视频教程让学员免费观看学习,想要学好Python的小伙伴快到扣丁学堂来了解详情吧。扣丁学堂Python技术交流群:279521237。
【关注微信公众号获取更多学习资料】
查看更多关于“大数据培训资讯”的相关文章>>
标签:
Python培训
Python视频教程
python处理大数据
Python学习教程