Python初识
本人16年毕业,参加工作后从事的是软件测试行业。在工作期间,发现现在软件的自动化测试逐渐的兴起、壮大,而Python语言在自动化测试中占有非常重要的比重,遂兴起了学习Python的兴趣。从而也为我打开、认识了一片新天地。学习Python已经一年多的时间,期间看了众多学习资料,但是没有做什么笔记,导致许多问题经常记不住,反复查阅资料。所以决心写博客将一些心得写下来。首先是第一篇学习笔记。
下面这些问题是我从《Python学习手册》一书以及其他方面了解到的。
1.人们为何使用Python?
现在市场上拥有众多的编程语言,这往往是入门的小白们首先需要面对的问题。而现在Python在web开发、网络编程、科学计算、GUI、运维自动化、爬虫、大数据、人工智能等 方面都有应用。使用Python开发的程序往往有一些共性.
主要是以下几方面:
软件质量:
在很大的程度上,Python注重可读性、一致性和软件质量,从而与其他的脚本语言区别开来。此外,Python支持软件开发的高级重用机制,例如面向对象程序设计(OOP)。
提高开发者的效率:
相对于C、C++和Java等编译/静态类型的语言,Python的开发者效率提高了数倍。代码的大小往往只有C++和Java代码的1/5~1/3,。这意味着开发、调试、维护的工作量 大大减小,并且Python是一门解释类型的语言,可以立即运行,减去了编译和链接等步骤,进一步提高了程序员的效率。
程序的可移植性:
可以再Linux、Windows、Mac等平台上进行代码的移植,此外,还提供了多种可选的独立程序,包括图形界面、数据库接入、基于web的系统等等。
强大的标准库:
Python拥有内置了众多功能模块,也叫作标准库。标准库支持一系列应用级的编程任务,涵盖了方方面面。此外,还拥有众多自行开发或者第三方应用支持的扩展库。
组件集成:
Python还被称为“胶水语言”。它可以调用C和C++的库,可以被C和C++的程序调用。可以与Java组件进行集成,可以与COM和.NET等框架进行通信,不仅仅是一个独立 的个体。
享受乐趣:
不仅仅是Python,学习任何一门编程语言享受编程之美、享受编程带给自己的乐趣。
2.Python是脚本语言吗?
Python其实是一门多用途的语言,现在Python以其独特的魅力火了起来,带给编程界老大哥Java很大的烦恼。所以现在来说,‘’‘脚本语言’这一词语大概是说Python比较适合快速 和灵活的开发模式,而不是只能应用于特定领域。
Python一般拥有以下三种角色:
Shell工具、控制语言、使用快捷。
3.Python的缺点?
程序的运行速度和C、C++编写的程序比起来要慢很多。
4.Python前世今生
python的创始人为吉多•范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多•范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的 一种继承。
最新的TIOBE排行榜,Python赶超PHP占据第4!!!
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。
5.为什么是Python而不是其他语言?
C 和 Python、Java、C#等
C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作
其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行
Python 和 C Python这门语言是由C开发而来
对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
对于速度:Python的运行速度相较与C,绝逼是慢了
Python 和 Java、C#等
对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
对于速度:Python在速度上可能稍显逊色
所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。
6.Python的种类
• Cpython
Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
• Jyhton
Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
• IronPython
Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
• PyPy(特殊)
Python实现的Python,将Python的字节码字节码再编译成机器码。
• RubyPython、Brython ...
以上除PyPy之外,其他的Python的对应关系和执行流程如下:
PyPy,在Python的基础上对Python的字节码进一步处理,从而提升执行速度!