Python语言基础
第一章 Python语言概述
1.1 计算机语言啊
1 计算机的种类
机器语言
机器语言是最低级的语言,是用二进制代码表示的计算机能直接识别和执行的一种及其指令的集合。
- 灵活
- 可直接执行
- 速度快
汇编语言
汇编语言适用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,即“符号语言”
- 目标代码简短
- 占用内存少
- 执行速度快
高级语言
高级语言编写的程序不能直接被计算机识别,必须经过转换才能被执行。
根据转换方法可以分为两类:
- 解释类
- 一边执行一边编译
- 编译类
- 先进行编译后再进行执行
1.2 Python简介
1 Python语言的历史
1989年荷兰人Guido van Rossum发明了这种面向对象的解释型高级编程语言。
有趣的是荷兰人的名字都喜欢使用
van
来做为过渡语比较著名的是某位高姓画家
——Vincent Willem van Gogh
1991年Python的第一个公开发行版本发行。
2019.1 Python获得“TIOBE最佳年度称号”(The Importance Of Being Earnest),这是它获得的第三个最佳。
2 Python语言的特点
优点
- 语言简单
- 开源免费
- 面向对象
- 跨平台
- 强大的生态系统
- 常用第三方库:Matplotlib(数据可视化库)、NumPy(数值计算功能库)、SciPy(数学、科学、工程计算功能库)、pandas(数据分析高层次应用库)、Scrapy(网路爬虫功能库)、BeautifulSoup(HTML和XML的解析库)、Django(Web应用框架)、Flask(Web应用微框架)
缺点
- 运行速度慢
- 存在多线程性能瓶颈
- 代码不能加密
- Python2.x和Python3.x不兼容
- IBM(蓝色巨人),会不会重蹈覆辙嘞?
3 Python语言的应用
数据科学
数学+数据就是数据科学
第三方库 | 功能 |
---|---|
Scrapy库 | 编写网络爬虫程序采集网页数据 |
pandas库 | 清洗数据、排序数据 |
NumPy库、SciPy库 | 丰富的科学计算和数据分析功能 |
Matplotlib库 | 数据可视化图表 |
人工智能
第三方库 | 功能 |
---|---|
scikit-learn | 基于Python语言的机器学习工具 |
Keras | 基于Python语言的深度学习库,提供了Python编写的高级神经网络API |
NLTK | Python自然语言工具包,用于标记化、词形还原、词干化、解析、POS标注 |
Tensorflow、Caffe | 深度学习框架 |
网站开发
网站开发框架:Django、Flask、Pyramid、Bottle、Tornado、web2py
系统管理
云计算平台OpenStack使用Python开发。
自动化部署工具:Ansible、Salt
网络爬虫
爬虫框架:Scrapy
4 Python语言的版本
目前,Python主要经历了三个版本:1.0版本(1994年发行)、2.0版本(2000年发行)、3.0版本(2008年发行)
但是Python2.x和Python3.x彼此不兼容,如:
- Python2.x中,print语句被Python3.x中的
print()
函数所代替; - Python3.x中,整数之间相除,结果是浮点数,而在Python2.x中是整数;
- Python3.x源代码文件默认使用UTF-8编码,所以支持直接写入中文,而Python2.x默认编码是ASCⅠ编码,所以在Python2.x中需要进行相应的转换;
- Python3.x中,
range()
函数与xrange()
函数被正和为一个range()
函数,所以再Python3.x中不存在xrange()
函数,而在Python2.x中并存;
但是Python3.x虽然和Python2.x再一部分语法中不兼容,但是它们的思想都是共通的。
5 Python语言的使用
Python的命令提示符:
>>>
Python自带的集成开发环境:IDLE
IDLE常用快捷键
快捷键 | 功能说明 |
---|---|
F1 | 打开Python帮助文档 |
F5 | 运行Python代码文件 |
Ctrl+] | 缩进代码块 |
Ctrl+[ | 取消代码块缩进 |
Ctrl+F6 | 重新启动IDLE Shell |
Ctrl+Z | 撤销一步操作 |
Ctrl+Shift+Z | 恢复上一次撤销操作 |
Ctrl+S | 保存文件 |
Alt+P | 浏览历史命令(上一条) |
Alt+N | 浏览历史命令(下一条) |
Alt+/ | 自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,可以连续按该快捷键,再多个单词中循环选择 |
Alt+3 | 注释代码块 |
Alt+4 | 取消代码块注释 |
Alt+g | 转到某一行 |
6 第三方开发工具
PyCharm
- Python编辑器
- 跨平台性
- 提供Django开发,支持Google App Engine
Eclipse
- 自由集成式开发环境
- 跨平台性
- 通过安装插件,可以作为其他计算机语言的开发工具(C++/Python)
Jupyter Notebook
- 最初只支持Python开发,现在已经支持40+的编程语言
7 Python规范
注释
单行注释:#
多行注释:开头 """
结尾 """
编码规则注释:主要是为了解决Python2.x中不支持直接写中文问题
1 | # -*- coding:utf-8 -*- |
代码缩进
可以使用空格和Tab键进行缩进
在集成环境中,可以输入:
按回车键