Python基础——介绍
前言
编译型语言和解释型语言
计算机是不能识别高级语言的,所以当我们运行一个高级语言程序时,需要有一个"翻译机"来把高级语言转换成计算机能读懂的机器语言,这个过程包括两个部分,编译和解释。
编译型语言在程序执行之前,会先通过编译器对程序进行一次编译的过程,把程序转变为机器语言,运行时直接执行。比如C语言。
解释型语言没有编译过程,在程序运行的时候,通过解释器对程序逐行做出解释,然后直接运行。比如Ruby。
总结:编译型语言再程序运行之前就已经对程序做出了翻译,所以一般运行时直接执行,效率比较高;当然也存在特殊的,有些解释型语言也可以通过解释器的优化来对程序翻译时做出优化,从而可在效率上超过编译语言。
Python是什么?
Python是一种解释型,面向对象,动态数据类型的脚本编程的程序设计语言。
Python是从ABC数学语言的基础上发展而来的。添加了很多ABC没有的功能,还设计了很多丰富且强大的库,使用这种库可以把使用其他语言制作的各种模块轻松的连结再一起。
- 这里的库和模块,简单理解成一个个的源文件就行,每个文件中都包含可实现各种功能的方法(也可以称为函数)。
Python的优缺点是什么?
优点
- 开源
- 语法简洁明了,容易上手。
:代码格式的要求没有那么严格,
举例子:
①Python不要求在每个语句的最后写分号,写与不写都可以。
②定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
③和其他编程语言相比,实现同一个功能,Python语言的实现代码往往是最短的。- 属于高级语言
原因是封装比较深,屏蔽了很多底层细节。所以使用起来比较方便,但底层细节了解较少。- 标准库和第三方库众多,功能强大。
- 解释型语言,能跨平台
可移植性比较好。- 面向对象
既支持面向过程,也支持面向对象,更加灵活。- 可扩展
可以混合使用C、Java语言编写。
缺点
- 运行速度慢
解释型语言的通病。
一边运行一边"翻译"源代码,再加上封装比较深,很多底层工作比较消耗资源。- 代码加密困难
编译型语言的源代码会被编译成可执行的程序,python是直接运行源代码,因此对源代码加密比较困难。
Python的运行过程
python代码的编译结果就是pyCodeObject对象,
过程概述:
- 编写源代码(.py文件)。
- 将.py文件编译成字节码文件。
- 字节码虚拟机执行字节码指令。
字节码:
字节码在python虚拟机程序里对应的时pyCodeObject对象,.pyc文件是字节码在磁盘上的表现形式。
pyc文件:
pyCodeObject对象的创建时机是模块加载的时候,也就是import。
举例:
python test.py回对test.py进行编译成字节码并解释执行,但是不会生成test.pyc。
如果test.py加载了其他模块,如import util,python会对util.py进行编译成字节码,生成util.pyc,然后对字节码解释执行。
如果想生成test.pyc,可以使用python内置模块py_compile来编译。
加载模块时,如果同时存在.py和.pyc,python会尝试使用.pyc,如果.pyc的编译时间早于.py的修改时间,则重新编译.py并更新.pyc。
Python能干什么?
1、web开发
结合python、html、css、JavaScript、数据库等开发一个网站。
2、数据科学
包括机器学习、数据分析、数据可视化。
- 机器学习:人工智能、机器人、语言识别、图像识别、自然语言处理、专家系统等
- 数据分析/可视化:大数据分析。
3、网络爬虫(注:现在好像法律不允许,此概念仅供参考学习。)
又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序。每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容。
爬虫领域,python是必不可少的一部分,它将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。
4、自动化运维
能够解决当下运维工作重复、繁杂的问题,让运维工作变的简单、快速、准确。
5、嵌入式应用开发
6、游戏开发
7、桌面应用开发
怎样学好Python?
当然是分阶段有计划的去学习了,我的学习计划是:
图片来源地址
注:
文章中部分内容借用了他人的意见和思想,最终结合自己的理解整理而成。