python超神第二节
python语言概述
Python是一跨步易于学习且功能强大的编程语言。他具有高效率的数据结构,能够简单又有效地面向对象编程.
Python简洁的语法与动态输入之特性,加之其解释性语言的本质,使得它成为一种在多种领域与绝大多数平台都能进行脚本编写与应用快速开发工作的理想语言。
关于Python这个名字,据说据说来自于吉多非常喜欢的英剧《Monty Python飞行马戏团》,意为蟒蛇,但是Python语言并不像蟒蛇那样恐怖且危险。吸取了ABC语言因没有开源而失败的经验,吉多将Python语言上传至开源社区,并且实现了ABC语言未曾实现的部分功能。
Python之父吉多是一位荷兰程序员,1982年在阿姆斯特丹大学获得数学和计算机科学硕士学位,很多人对他的了解仅限于“Python之父”,并且Python还是他打发时间的作品,但是在那之前,吉多已经积攒了足够的经验,才能有此神作。
在取得硕士学位的同年,吉多加入CWI(数学与计算机科学国家研究所),在这期间,吉多参与研发了一种高级编程语言——ABC,这款以教学为目的的语言相比当时的BASIC、C语言更加容易阅读、使用、记忆和学习,但是他并没有流行起来。吉多在后来表示ABC语言没有成功的的原因在于它没有开源,但是仍然让他看到了把编程语言变得“让用户感觉更好”的希望。
为打发时间儿写的Python
很多伟大的产品往往是其作者打发时间的产物,python也是如此。1989年圣诞节,待在阿姆斯特丹的吉多闲的无聊,想起之前开发ABC语言时的还留下些问题没有解决,他决定写个脚本解释语言打发时间,Python也因此而诞生。
关于Python这个名字,据说据说来自于吉多非常喜欢的英剧《Monty Python飞行马戏团》,意为蟒蛇,但是Python语言并不像蟒蛇那样恐怖且危险。吸取了ABC语言因没有开源而失败的经验,吉多将Python语言上传至开源社区,并且实现了ABC语言未曾实现的部分功能。
由于Python语言的简洁性、易读性以及可扩展性,越来越多的机构和个人开始使用它,如今这门受用户欢迎、用途广泛的编程语言风靡全球,被认为是最好的编程语言之一。
Python特色
-
简单:可以像阅读英文一样,见文知意。它能够让你专注于解决问题的方案,而不是语言本身
-
易于学习:同上。Python有一套极其简单的语法体系
-
自由且开放:Python 是 FLOSS (自由/开放源代码软件)的成员之一。简单来说,你可以自由地分发这一软件的拷贝,阅读它的源代码,并对其作出改动,或是将其的一部分运用于一款新的自由程序中。FLOSS 基于一个可以分享知识的社区理念而创建。这正是 Python 为何能如此优秀的一大原因——它由一群希望看到 Python 能变得更好的社区成员所创造,并持续改进至今。github/gitlab
上面有很多开源项目,可以去学习 -
跨平台:由于其开放源码的特性,Python 已被移植到其它诸多平台(意即它们已经过改动以保证其能正常工作)。如果你小心地避开了所有系统依赖型的特性。你所有的 Python 程序可以在其中任何一个平台上工作,不必作出任何改动。
你可以在 GNU/Linux、Windows、FreeBSD、Macintosh、 Solaris、 OS/2、 AmigaAROS、 AS/400、 BeOS、 OS/390、 z/OS、 Palm OS、 QNX、 VMS、 Psion、 AcornRISC OS、 VxWorks、 PlayStation、 Sharp Zaurus、 Windows CE 以及 PocketPC 平台上运行 Python!
你甚至可以通过诸如 Kivy 一类的平台来制作可在你的电脑 以及 iPhone、iPad 或安卓手机上运行的游戏。
- 可嵌入性:你可以在你的 C 或 C++ 程序中嵌入 Python,从而向你的程序用户提供脚本功能
- 丰富的库:实际上 Python 标准库的规模非常庞大(Pypi)。它能够帮助你完成诸多事情,包括正则表达式、文档生成、单元测试、多线程、数据库、网页浏览器、CGI、FTP、邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面),以及其它系统依赖型的活动。只需记住,只要安装了 Python,这些功能便随时可用。它们的存在被称作 Python 自备电池(Batteries Included) 式的哲学。
- 面向对象:Python 同时支持面向过程编程与面向对象编程。在 面向过程 的编程语言中,程序是由仅仅带有可重用特性的子程序与函数所构建起来的。在 面向对象 的编程语言中,程序是由结合了数据与功能的对象所构建起来的。与 C++ 或 Java 这些大型语言相比,Python 具有其特别的、功能强大又简单的方式来实现面向对象编程。
用百度指数对比下JAVA
python应用 - 常规软件开发
- 科学计算
- 自动化运维
- 自动化测试
- WEB开发
- 网络爬虫
- 数据分析
- 人工智能
Python环境搭建
搭建环境
python的解释器
- 环境搭建就是安装Python的解释器
- Python的解释器分类:|
解释器 | 编写语言 |
---|---|
CPython | c(官方) |
PyPy | Python |
JPython | java |
- 搭建Python环境
- A安装python
1.下载安装包 : 官网链接.
或者自己百度
download-windows-
IDLE是PYTHON自带的编译器,但是不会提示错误,我们等下还要再装一个
电脑带的动的话选择C盘安装,带不动就装到其他盘
cmd进入dos窗口输入python检查是否安装成功
小结:
win键 + R --> CMD --> 回车 --> 输入Python
命令行结构
Python 3. 6. 5 … —> 版本
Type “help”,“copyright”…—> 版权声明
>>> —> 命令提示符 (在后面可以直接输入指令
B(安装库)pip工具
pip介绍
我们都知道python有很多的第三方库或者说是模块。这些库针对不同的应用,发挥不同的作用。我们在实际的项目中肯定会用到这些模块。那如何将这些模块导入到自己的项目中呢?
Python官方的PyPi仓库为我们提供了一个统一的代码托管仓库,所有的第三方库,甚至你自己写的开源模块,都可以发布到这里,让全世界的人分享下载 。
python有两个著名的包管理工具easy_install和pip。在python 2中easy_install是默认安装的,而pip需要我们手动安装。随着Python版本的提高,easy_install已经逐渐被淘汰,但是一些比较老的第三方库,在现在仍然只能通过easy_install进行安装。目前,pip已经成为主流的安装工具,自Python 2 >=2.7.9或者Python 3.4以后默认都安装有pip
pip使用
在命令行下,输入pip,回车可以看到帮助说明:
查看pip版本
pip -V
pip --version
普通安装
pip install requests
指定版本安装
pip install robotframework2.8.7
安装其他的库例如
pip install flask
(flask是国外的库比较慢,可使用换源安装换国内网站安装)
换源安装
豆瓣 :http://pypi.douban.com/simple/
阿里 :http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple
清华:https://pypi.tuna.tsinghua.edu.cn/simple
例如:pip install SomePackage -i https://pypi.douban.com/simple
(somepackage要换成要下载的库名比如pip install Flask -i https://pypi.douban.com/simple)
卸载已安装的库
pip uninstall requests
pip install SomePackage
pip install SomePackage1.0.5 # 指定版本
pip install ‘SomePackage>=1.0.6’ # 最小版本
升级指定的包,通过使用==, >=, <=, >, < 来指定一个版本号。
列出已经安装的库
pip list
显示所安装包的信息
pip show package
(要把 package换成相应的包)
将已经安装的库列表保存到文本文件中(开发过程中,有时候是半路加进项目的,需要知道前开发人员使用的什么库,用这个文本文件就可以用下面介绍的命令导入自动一键下载了)
先进入
pip freeze > c:\桌面\1.txt
要先新建一个空白txt
批量下载导出来的包
cmd窗口进入(命令cd)txt所在位置路径,dir显示文件列表确定文件在该路径
pip install -r packages.txt
导入刚才导出的库,显示已下载
upgrade pip -i 换源网址 更新pip版本(一般需要升级,窗口会提示)
使用wheel文件安装(苹果电脑)
除了使用上面的方式联网进行安装外,还可以将安装包也就是wheel格式的文件,下载到本地,然后使用pip进行安装。比如我在PYPI上提前下载的pillow库的wheel文件,后缀名为whl
地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
可以使用pip install pillow-4.2xxxxxxx.whl的方式离线进行安装
• 第一步 安装 wheel
• 第二步 找到下载的whl文件的目录进行安装(以桌面为例)
• 第三步 执行命令安装
Python的第一个程序
• 可以在交互模式实现
• 可以用Python自带的idle(无错误提示,不好用)
• 可以用高级开发工具如 : PyCharm
Pycharm的介绍和安装环境搭建
PyCharm 是 Python 最著名的集成开发环境 IDE 之一,由大名鼎鼎的 JetBrains 公司开发,如果你用过该公司其它产品,像 Intellij IDEA 或者 WebStorm,你将对 PyCharm 驾轻就熟,该公司旗下产品在功能布局及设置等方面都保持了很好的一致性。
- 什么是 IDE?
IDE 是集成开发环境的英文缩写 (Integrated Development Environment),所谓集成开发环境就是将你在开发过程中所需要的工具或功能集成到了一起,比如:代码编写、分析、编译、调试等功能,从而最大化地提高开发者的工作效率。
IDE 通用特点: - 提供图形用户界面,在 IDE 中可以完成开发过程中所有工作;
- 支持代码补全与检查,并提供快速修复选项;
- 内置解释器与编译器;
- 功能强大的调试器,支持设置断点与单步执行等功能。
- PyCharm 的版本
目前 PyCharm 共有三个版本:Professional、Community 和 Edu 版。
Community 和 Edu 版本是开源项目,它们是免费的。 Edu 版完整的引用了 Community 版所有的功能。同时集成了一个python的课程学习平台,比较适合从未接触过的任何开发语言的小白。
Professional 版是收费的,下面是 Profession 与 Community 版的对比,后者相对前者缺少很多重要功能,对于开发人员还是强烈建议选择 professional 版本,本课程中也将以 Professional 版本为例进行讲解。
图片来源:https://www.jetbrains.com/pycharm/ 官网 - 其它 IDE 对比
3.1 Spyder
在 IDE 市场也是大名鼎鼎, 主要是为科学计算而开发的。它是开源工具, 可运行在 Linux, Windows and Mac OS 上。
优点: - 在查找和消解除代码性能链瓶颈方面非常高效;
- 可即时查看任何文档并修改自己的文档。
- 支持扩展插件。
缺点: - 同时调用太多插件时,其性能下降比较多;
- 无法配置开发人员想要禁用的警告。
Tips:如果主要用于深度学习及数据分析,建议安装Anaconda,其包含许多用于科学计算的工具,Spyder 也被包括在内。
3.2 PyDev + Eclipse
Eclipse 是 Java 语言的 IDE,PyDev 是其一个插件,安装后,可以在 Eclispe 中进行 Python 的开发工作。
优点: - 提供了代码语法高亮显示、解析器错误、代码折叠和多语言支持;
- 具有良好的界面视图,提供一个交互式控制台;
- 支持 CPython、Jython、Iron Python 和 Django,并允许在挂起模式下进行交互式测试。
缺点: - 如果应用程序太大,使用多个插件,PyDev IDE 的性能会降低;
- 作为插件,在实际使用过程中不是很稳定。
图片来源:http://www.pydev.org 官网
3.3 IDLE
如果你的电脑上安装了 Python,同时也就安装了 IDLE。初学者可以利用它方便地创建、运行、测试 Python 程序。
优点: - IDLE 纯粹在 Python 中开发,使用 Tkinter GUI 工具包,也是一个跨平台工具,可以工作在 Windows, macOS 与 Linux 上;
- 它具有多窗口文本编辑器的良好功能,具有调用提示、智能缩进、撤消等许多功能;
- 它还支持对话框、浏览器和可编辑配置。
缺点: - 它有一些正常的使用问题,有时它缺乏焦点,在代码自动补全方面只支持内置标准库;
- 在界面上缺少一些基本的设计,比如缺少行号。
3.4 Wing
也是在当今市场上流行和强大的 IDE,具有许多适合 Python 开发人员要求的功能, 可以工作在 Windows, macOS 与 Linux 上。 它是商业软件,Wing Personal 与 Wing 101 两个版本是为了学生与初学者的免费版本。
优点: - 在试用版过期的情况下,Wing 为开发人员提供了大约 10 分钟的时间来迁移其应用程序;
- 它有一个源浏览器,有助于显示脚本中使用的所有变量;
- 功能强大的调试器,提供了一个额外的异常处理选项卡,可帮助开发人员调试代码。
缺点: - 在科学计算方面没有集成一些常用工具与库;
- 商业版本功能强大,也意味占用内存比较大。
图片来源:http://wingware.com 官网 - 为什么是 PyCharm?
上一部分总结了其它 IDE 的优缺点, 相较其它产品,PyCharm 是功能最为完备,用户体验最好的IDE, 适合大型项目的开发。 具体特性如下: - 智能代码编辑功能: 自动代码补全,你继续输入时,拼写提示列表会缩小范围以匹配你输入的字符。 具有实时编辑功能,立即自动保存编辑内容;
- 专业工具集成: 几乎集成了程序员可能希望的所有功能, 比如集成单元测试,代码检测,集成版本控制,代码重构工具等等;
- 支持各种 Web 开发语言:如 HTML/CSS、Javascript、Angular JS、node JS 等。Pycharm 还支持多种类型的 Web 开发框架和广泛的 Web 模板;
- 科学计算:集成了 IPython Notebook,其作为交互式的 python 控制台,支持各种工具如 Anaconda, NumPy, Matplotlib 等等;
- 可定制 + 跨平台: 可以自定义UI界面,可运行在 Linux, Windows and Mac OS 上;
- 远程调试:通过配置 Docker 或者 Vagrant 及 SSH, 支持在本地使用远程服务器的 Python 解释器和环境进行调试和运行, 这是其它大多数其它 IDE 不具备的功能;
- 最流行:意味着当你在使用中遇到问题,意味着可以在互联网上更快的找到解决方案相对于其它 IDE。
PyCharm 主界面: - 课程内容
本课程主要目的是帮助学习者快速熟悉 IDE,掌握使用中的一些技巧,课程内容大致如下:
PyCharm 是 Python 最著名的集成开发环境 IDE 之一,由大名鼎鼎的 JetBrains 公司开发,如果你用过该公司其它产品,像 Intellij IDEA 或者 WebStorm,你将对 PyCharm 驾轻就熟,该公司旗下产品在功能布局及设置等方面都保持了很好的一致性。 - 什么是 IDE?
IDE 是集成开发环境的英文缩写 (Integrated Development Environment),所谓集成开发环境就是将你在开发过程中所需要的工具或功能集成到了一起,比如:代码编写、分析、编译、调试等功能,从而最大化地提高开发者的工作效率。
IDE 通用特点: - 提供图形用户界面,在 IDE 中可以完成开发过程中所有工作;
- 支持代码补全与检查,并提供快速修复选项;
- 内置解释器与编译器;
- 功能强大的调试器,支持设置断点与单步执行等功能。
- PyCharm 的版本
目前 PyCharm 共有三个版本:Professional、Community 和 Edu 版。
Community 和 Edu 版本是开源项目,它们是免费的。 Edu 版完整的引用了 Community 版所有的功能。同时集成了一个python的课程学习平台,比较适合从未接触过的任何开发语言的小白。
Professional 版是收费的,下面是 Profession 与 Community 版的对比,后者相对前者缺少很多重要功能,对于开发人员还是强烈建议选择 professional 版本,本课程中也将以 Professional 版本为例进行讲解。
图片来源:https://www.jetbrains.com/pycharm/ 官网 - 其它 IDE 对比
3.1 Spyder
在 IDE 市场也是大名鼎鼎, 主要是为科学计算而开发的。它是开源工具, 可运行在 Linux, Windows and Mac OS 上。
优点: - 在查找和消解除代码性能链瓶颈方面非常高效;
- 可即时查看任何文档并修改自己的文档。
- 支持扩展插件。
缺点: - 同时调用太多插件时,其性能下降比较多;
- 无法配置开发人员想要禁用的警告。
Tips:如果主要用于深度学习及数据分析,建议安装Anaconda,其包含许多用于科学计算的工具,Spyder 也被包括在内。
3.2 PyDev + Eclipse
Eclipse 是 Java 语言的 IDE,PyDev 是其一个插件,安装后,可以在 Eclispe 中进行 Python 的开发工作。
优点: - 提供了代码语法高亮显示、解析器错误、代码折叠和多语言支持;
- 具有良好的界面视图,提供一个交互式控制台;
- 支持 CPython、Jython、Iron Python 和 Django,并允许在挂起模式下进行交互式测试。
缺点: - 如果应用程序太大,使用多个插件,PyDev IDE 的性能会降低;
- 作为插件,在实际使用过程中不是很稳定。
图片来源:http://www.pydev.org 官网
3.3 IDLE
如果你的电脑上安装了 Python,同时也就安装了 IDLE。初学者可以利用它方便地创建、运行、测试 Python 程序。
优点: - IDLE 纯粹在 Python 中开发,使用 Tkinter GUI 工具包,也是一个跨平台工具,可以工作在 Windows, macOS 与 Linux 上;
- 它具有多窗口文本编辑器的良好功能,具有调用提示、智能缩进、撤消等许多功能;
- 它还支持对话框、浏览器和可编辑配置。
缺点: - 它有一些正常的使用问题,有时它缺乏焦点,在代码自动补全方面只支持内置标准库;
- 在界面上缺少一些基本的设计,比如缺少行号。
3.4 Wing
也是在当今市场上流行和强大的 IDE,具有许多适合 Python 开发人员要求的功能, 可以工作在 Windows, macOS 与 Linux 上。 它是商业软件,Wing Personal 与 Wing 101 两个版本是为了学生与初学者的免费版本。
优点: - 在试用版过期的情况下,Wing 为开发人员提供了大约 10 分钟的时间来迁移其应用程序;
- 它有一个源浏览器,有助于显示脚本中使用的所有变量;
- 功能强大的调试器,提供了一个额外的异常处理选项卡,可帮助开发人员调试代码。
缺点: - 在科学计算方面没有集成一些常用工具与库;
- 商业版本功能强大,也意味占用内存比较大。
图片来源:http://wingware.com 官网 - 为什么是 PyCharm?
上一部分总结了其它 IDE 的优缺点, 相较其它产品,PyCharm 是功能最为完备,用户体验最好的IDE, 适合大型项目的开发。 具体特性如下: - 智能代码编辑功能: 自动代码补全,你继续输入时,拼写提示列表会缩小范围以匹配你输入的字符。 具有实时编辑功能,立即自动保存编辑内容;
- 专业工具集成: 几乎集成了程序员可能希望的所有功能, 比如集成单元测试,代码检测,集成版本控制,代码重构工具等等;
- 支持各种 Web 开发语言:如 HTML/CSS、Javascript、Angular JS、node JS 等。Pycharm 还支持多种类型的 Web 开发框架和广泛的 Web 模板;
- 科学计算:集成了 IPython Notebook,其作为交互式的 python 控制台,支持各种工具如 Anaconda, NumPy, Matplotlib 等等;
- 可定制 + 跨平台: 可以自定义UI界面,可运行在 Linux, Windows and Mac OS 上;
- 远程调试:通过配置 Docker 或者 Vagrant 及 SSH, 支持在本地使用远程服务器的 Python 解释器和环境进行调试和运行, 这是其它大多数其它 IDE 不具备的功能;
- 最流行:意味着当你在使用中遇到问题,意味着可以在互联网上更快的找到解决方案相对于其它 IDE。
PyCharm 主界面:
本文主要目的是帮助学习者快速熟悉 IDE,掌握使用中的一些技巧,内容大致如下:
ADD添加新环境
show all 显示配置过的所有环境
• 修改新建文件文件头 File–settings–Editor—Code Style — File and Code Templates — Python Script
• #!/usr/bin/env python
• # -*- coding: utf-8 -*-
• # @Time : ${DATE} ${TIME}
• # @Author : Jerry
• # @File : ${NAME}.py
• # @Software: ${PRODUCT_NAME}
8、修改字体编码 File–settings–Editor—Code Style — File Encoding — Project Encoding