Python编程基础--Chapter01绪论
一、为什么要学习一门算法语言
• 所有的计算机程序都是使用某种算法语言实现的
二、计算机语言发展过程
三、Python语言的由来
Python [`paiθən]/[‘paɪθɑn],意为“蟒蛇”。
Python语言的发明者是荷兰人Guido van Rossum
(C位大佬)。
Python 语言的拥有者是Python Software Foundation(PSF)
,PSF是非盈利组织,致力于保护Python语言开发、开源和发展。
1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以选Python作为程序的名字,是因为他是一个Monty Python(蟒蛇)的飞行马戏团的爱好者。
- 2002年,Python 2.x
- 2008年,Python 3.x
Python语言的版本更迭
- 更高级别的3.0系列不兼容早期2.0系列;
- 2008年至今,版本更迭带来大量库函数的升级替换,Python语言的版本更迭痛苦且漫长;
- 时至今日,Python 3.x系列已经成为主流。
四、Python语言的特点
官方定义:Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言
Python设计哲学
- 美丽优于丑陋
- 清楚优于含糊
- 简单优于复杂
- 复杂优于繁琐
- 平面比嵌套好
- 稀疏比稠密好
- 可读性很重要
• TIOBE Index for February 2024
• IEEE Spectrum排行榜(活跃度)
五、Python适合做什么
Python应用实例
六、一些深受欢迎的Python包
Python深受欢迎的原因之一是有大量高品质的库,可帮助完成各种软件任务。
在这些库中,很多都只支持特定的Python版本。具体地说,有些包不支持Python 3.x,因此要使用它们,可能需要使用Python 2.x。但如果熟悉Python 3.x,使用Python 2.x并不难。
PIL:Python图像处理库
• PIL(http://www.pythonware.com/products/pil/index.htm)是一个图像处理库,支持众多图像格式,功能强大,可以对图像做各种处理。如:缩放、裁剪、旋转、滤镜、文字、调色板等等。
Tkinter:Python GUI
• Tkinter是Python库自带的,是访问流行工具包TK GUI的标准方式。如果要使用Python创建图形用户界面(GUI),应首先考虑使用这个包。有关该包的更详细信息,参阅http://docs.python.org/3/library/tkinter.html
Django:交互式网站
• Django(www.djangoproject.com)是一个用于创建交互式网站的框架。
Bottle:交互式网站
• Bottle(http://bottlepy.org/docs/dev/)类似于Django,它也是一个用于创建交互式网站的框架。不同的是,Bottle是一个轻量级的小型框架,更适合用于开发小型网站。
Pygame:2D动画
• Pygame(www.pygame.org)能够创建和控制二维动画,尤其适合开发游戏。它提供了创建动画和声音的工具,还提供了控制游戏杆等输入设备的工具。Pygame网站还提供了初步教程和示例程序。
SciPy:科学计算
• SciPy(www.scipy.org)是一个用于科学计算的大型软件工具库,深受欢迎,还有专门的会议。它提供的数学软件可以完成:求解最优化问题、执行线性代数数字计算、处理信号等。
Twisted:网络编程
• Twisted(http://twistedmatrix.com/trac)是一个深受欢迎的Python网络编程库,支持众多网络协议,可用于开发Web服务器、邮件服务器和聊天客户端/服务器等。
PyPI:Python包索引
• Python包索引(http://pypi.python.org/pypi)是一个更新频繁的清单,列出了数万个用户提交的Python包。如果要寻找专用Python库或了解Python已用于哪些方面,可在此查询。
Request:爬取网页库
• Requests:(http://www.python-requests.org)用于自动爬取HTML页面、自动网络请求提交
BeautifulSoup:解析网页库
• BeautifulSoup(https://www.crummy.com/software/BeautifulSoup/)用于解析HTML页面
Sklearn:机器学习算法库
• Sklearn:( https://pypi.org/project/scikit-learn/)集成了常用的机器学习算法(依赖库:Numpy、Scipy、matplotlib)
tesorflow:人工智能算法库
• tesorflow:( https://pypi.org/project/tensorflow/)是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现
七、常用Python IDE
文本工具类IDE | 集成工具类 |
---|---|
Notepad | IDLE |
Sublime Text | PyCharm |
Vim & Emacs | Wing |
Atom | PyDev &Eclipse |
Komodo Edit | Visual Studio |
Jupyter Notebook | Anoconda & Spyder |
Canopy |
本课程中推荐使用:
- IDLE (轻量级、集成工具类)
- PyCharm(轻量级、集成工具类,Python解释器使用系统已经安装的)
- Anaconda(集成工具类,集成了大多数第三方库、Spider编辑器、Ipython console)
1、IDLE
特点:
• Python软件包自带的IDE
• 常用
• 入门级
适用:
• Python入门
• 功能简单直接
• 300+代码以内
安装官方版本(IDLE)
1、访问Python下载页面www.python.org/download
2、选择最新的Python 3.x版本,打开下载页面。
3、根据使用的操作系统,单击相应的安装程序链接。
4、下载完毕之后,双击安装程序开始安装。
5、从开始菜单中选择Python 3.x的选项,选择其中的IDLE(Python GUI):
包含交互式和文件式两种方式
2、Pycharm
• 由JetBrains公司开发的一款Python IDE,它带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。
• 社区版免费
• 简单、集成度高
• 适合较复杂工程
• 但不自带Python解释器,要使用系统已经安装的解释器
Pycharm下载地址:https://www.continuum.io/downloads
Pycharm IDE
Pycharm基本操作
- 首先
New Project
- 创建工作目录(如:homework)
- 然后File->New…创建Python File
- Run->Run…运行程序
- 可以Tools->Python Console调出命令行界面来执行单条语句 (或在界面左下角单击Python Console选项)
3、Anaconda
• 开源免费
• 支持近800个第三方库
• 包含多个主流工具
• 适合数据计算领域开发
• 下载地址:https://www.anaconda.com/products/individual
Anacoda下载界面
• Anaconda组件
• Anoconda Navigator
Anoconda组成
- Conda
- 一个工具,用于包管理和环境管理,其中:包管理与pip类似,管理Python第三方库;环境管理能够允许用户使用不同版本Python,并能灵活切换
- 某版本Python(编辑工具Spider)
- 交互式编程环境Ipython
- IPython是一个功能强大的交互式shell,适合进行交互式数据可视化和GUI相关应用
- 其他组件
- 一批第三方库等
编辑工具Spider
八、比较Python 2和Python 3
Python 2.0正式发布于2002年。2010年,Python 2.x系列发布最后一版,其主版本号为2.7,用于终结2.x系列版本的发展,并且不再进行重大改进。
Python 3发布于2008年底,是一次重大的升级。Python 3的有些改进不向后与Python 2兼容。
全面了解Python 3和Python 2之间的差异,可参阅What’s New in Python 3.0(http://docs.python.org/3/whatsnew/3.0.html)。
工具2to3(http://docs.python.org/3/library/2to3.html)几乎能将任何Python 2程序自动转换为等价的Python 3程序。
1、Python 3新增功能
Python 3新增了很多功能,一些显著的功能为:
-
在Python 3中,整数除法的结果完全符合预期:
-
而在Python 2中执行整数除法时,将删除小数部分:
-
在Python 3中, print是函数,易于修改;而在Python 2中,print是语句,就像if和for一样。
-
Python 2有两种类:老式类和新式类,而Python 3完全抛弃了老式类。
-
Python 3重命名了两个重要函数:函数input和range,在Python 2中分别名为raw_input和xrange。
-
Python 3支持格式字符串,而Python 2不支持。Python 2只支持使用运算符%的字符串插入。
此外,Python 3
- 统一了字符编码,为unicode编码
- 更新了模块,删除了部分过时的模块或函数,添加一些新的模块
- 数据结构dict性能优化
- 不再区分整数和长整数,统一为int
2、该使用哪个Python版本
如果必须使用Python 2程序,可能应选择Python 2;否则,就得将既有的Python 2程序转换为Python 3程序。
有些专用库只支持某个Python版本,如果需要这样的库,在选择Python 版本方面可能受到限制。
如果是刚从事编程工作或刚开始学习Python,不用维护老式Python程序,也无需使用专用库,使用Python 3可能是最佳选择。
九、最简单的Python程序
例1-1:经典程序—在屏幕输出“Hello World!”
• 直接在交互方式(shell)中实现:
例1-2:经典程序—在屏幕输出“Hello World!”
• 在文件方式中实现。
国科大研究生Python编程基础课程,内容充实饱满,融合理论知识和实际案例,深入浅出,干货满满,非常适合Python编程学习。
快来加入我的计划,一起肝Python编程吧!
整理不易,关注和收藏后拿走!
欢迎专注我的公众号:AdaCoding 和 Github:AdaCoding123