一、编译器和解释器
python是解释性语言,它含有解释器,在python安装路径下,python.exe其实就是可执行的程序,含有内置的标准库和方法。
编辑器
是写代码的工具,不是编译器。
高级语言
python,Java,PHP等,直接输入,可以看懂,更加能让人读懂和理解
机器语言
计算机直接理解的语言,二进制的编码,只能读懂0101的编码。
比如中国人见面打招呼的语句:"你吃饭了吗?"在高级语言中可以直接输出,但是计算机不能读懂,需要一个翻译官。
编译器/解释器
计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器
编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译时间点的不同。当编译器以解释方式运行的时候,也称之为解释器
编译器和解释器是高级语言与机器语言之间的翻译官,都是将代码翻译成机器可以执行的二进制机器码,只不过在运行原理和翻译过程不同而已。
编译器
程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。
实现过程是先整体编译再执行,好比自热火锅,全部整合,直接泡开就可以了,速度非常快。但是小的改动就需要重新编译(比如要加入虾滑,就需要重新做),可脱离编译环境运行(脱离火锅店),代表是C、C++。
解释器
解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码一句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行,实现过程是边解释边执行火锅店,边吃边下菜,过程非常慢。部分改动不需要整体重新编译(需要虾滑,直接点就可以),不可以脱离解释器环境运行(不能离开火锅店),代表是python语言。
python语言简介
人生苦短,我用 Python —— Life is short, you need Python
python的起源
Python 的创始人为吉多·范罗苏姆(Guido van Rossum)
- 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承(感觉下什么叫牛人)
- ABC 是由吉多参加设计的一种教学语言,就吉多本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在 Python 中避免这一错误,并获取了非常好的效果
- 之所以选中 Python(蟒蛇) 作为程序的名字,是因为他是 BBC 电视剧——蒙提·派森的飞行马戏团(Monty Python’s Flying Circus)的爱好者
- 1991 年,第一个 Python 解释器 诞生,它是用 C 语言实现的,并能够调用 C 语言的库文件
Python 的设计目标
1999 年,吉多·范罗苏姆向 DARPA 提交了一条名为 “Computer Programming for Everybody” 的资金申请,并在后来说明了他对 Python 的目标:
- 一门简单直观的语言并与主要竞争者一样强大
- 开源,以便任何人都可以为它做贡献,第三方库,人工智能库等由别人写号后放在开源平台上,我们可以直接拿来去用
- 代码像纯英语那样容易理解
- 适用于短期开发的日常任务
这些想法中的基本都已经成为现实,Python 已经成为一门流行的编程语言
Python 的设计哲学
优雅、明确、简单
- Python 开发者的哲学是:用一种方法,最好是只有一种方法来做一件事
- 如果面临多种选择,Python 开发者一般会拒绝花俏的语法,而选择明确没有或者很少有歧义的语法
在 Python 社区,吉多被称为“仁慈的独裁者”
Python 特点
Python 是完全面向对象的语言,代码量少,同一样问题,用不同的语言解决,代码量差距还是很多的,一般情况下Python是Java的1/5,所以说人生苦短,我用 Python
- 函数、模块、数字、字符串都是对象,在 Python 中一切皆对象
- 完全支持继承、重载、多重继承
支持重载运算符,也支持泛型设计
Python拥有一个强大的标准库,Python 语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由 Python 标准库提供了系统管理(os模块)、网络通信(http)、文本处理(文件的打开与保存)、数据库接口(mysql,mongodb)、图形系统(GUI)、XML 处理等额外的功能,安装时不用考虑安全性
Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、人工智能、机器学习、Web 开发、数据库接口、图形系统多个领域
面向对象的思维方式
面向对象是一种思维方式,也是一门程序设计技术
要解决一个问题前,首先考虑由谁来做,怎么做事情是谁的职责,最后把事情做好就行!
- 对象 就是 谁
要解决复杂的问题,就可以找多个不同的对象,各司其职,共同实现,最终完成需求 - 对象 就是 谁
要解决复杂的问题,就可以找多个不同的对象,各司其职,共同实现,最终完成需求
Python 的优缺点
- 优点
简单、易学
免费、开源
面向对象
丰富的库
可扩展性
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以把这部分程序用 C 或 C++ 编写,然后在 Python 程序中使用它们 - 缺点
运行速度(就现在来说电脑配置升级,以及python解释器的不断优化,现在的运行速度已经对比原来得到很大的提升)
python解释器的种类
CPython
官方的解释器,现在用的基本都是这种。C语言开发,目前应用最广的解释器。(用的比较多)
Ipython
基于CPython之上的一个交互性解释器(输入后,可以直接反馈结果),在交互上有所增强,可以执行shell命令,执行python代码的功能和CPython一样。(用的比较多)
PyPy
追求执行速度的python解释器。采用JIT技术,对python代码进行动态编译(不是解释),可以显著提高python代码执行的速度。但是会导致同一个代码运行的结果不一致,目前基本上没有用到。
Jython
运行在Java平台上的python解释器,可以直接把python代码编译成 Java字节码执行。
python安装好后,会有自带的解释器和内置的方法。写代码的时候会用到内置的方法和模块,就会从解释器里面调用,输入结果输出到解释器中。有一个优化机制,为了避免同一份代码每次都重写,比较消耗内存,也比较慢,解释器会比较时间戳,运行一次代码,就生成一个.pyc的文件,如果时间戳一致,就不需要解释,直接运行。
搜索栏输入:cmd–>ipython–> import os --> os.(方法),就可以直接调用内置的模块和方法。计算机可以识别代码,在解释器中解释成机器码,运行时写入内存中,通过解释器输出
二、Python环境搭建
Python是一个跨平台、可移植的编程语言,可以在Windows、Linux和MacOSX系统中安装使用(Mac自带的python2,不可以删除)。安装完成后会得到Python解释器的环境,通过终端输入python命令查看是否安装完成和安装的版本。切记:安装的时候要勾选将python的安装目录添加到环境变量中。
python介绍
· 简单易学、明确优雅、开发速度快
· 跨平台、可移植、可扩展、交互式、解释型、面向对象的动态语言
· “内置电池”,大量的标准库和第三方库
· 社区活跃,贡献者多,互帮互助
· 开源语言,发展动力巨大
python应用
- 后端,web方向
- 自动化,Office Automation,Test
- 数据,spider,Data Analysis,Machine Learning
python下载
官网:https://www.python.org/
说明文档地址:https://www.python.org/doc/
建议下载:python3
官方解释:Python 3 is strongly recommended for any new development. As of January 2020,Python 2 has reached End Of Life status.
解释的来源:https://wiki.python.org/moin/Python2orPython3
下载的时候不是最新版本的就好,要以稳定为主,最新的版本可能会出现不稳定的现象。
下载:以Windows为例,打开官网,点击downloads,选择Windows,下载3.6.4,可以在页面搜索(CTRL+F)python3.6.4。要先确认以下你电脑的位数(右键我的电脑–属性–系统栏中,会显示系统类型是32位还是64位的)。
可以看到官网下载页面的内容:
Python 3.6.4 - Dec. 19, 2017 —>更新的时间
Note that Python 3.6.4 cannot be used on Windows XP or earlier—>不能再windowsXP或者更早的系统上使用
Download Windows help file —>帮助文件
Download Windows x86-64 embeddable zip file —>64位系统嵌入式的压缩包
Download Windows x86-64 executable installer —>64位系统可执行的程序(选择这个下载)
Download Windows x86-64 web-based installer —>64位系统基于网页的安装
Download Windows x86 embeddable zip file —>32位系统内容同上
Download Windows x86 executable installer —>32位系统内容同上
Download Windows x86 web-based installer —>32位系统内容同上
安装
选择Download Windows x86-64 executable installer 下载后,双击打开,第一个界面—>选择Customize istallation用户自定义安装,同时勾选Add Python 3.6 to PATH把python3.6添加到系统环境变量中(这个选项务必要勾选,否则后续要添加路径,很麻烦)
第二个页面Optional Features 按默认的全部勾选即可—>第三个界面Advanced Options,勾选2,3,4三项,点击下面的Browse选择安装的路径,(1.尽量安装除C盘以外的盘符,运行时消耗的内存比较大,2.安装路径尽量不要有中文)—>install 即可。
安装完成后,点击 Windows+R键,打开运行框,输入cmd—>python,如果返回python的版本信息,光标处有三个>>>,则安装成功。
安装贴士
· 安装路径不要有中文
· 尽量安装到除C盘以外的盘符
· 要知道直接安装到哪里
· Add Python 3.6 to PATH 自动添加到环境变量
· mac自带python2,所以需要通过python3进入交互环境
手动添加到环境变量
如果点击 Windows+R键,打开运行框,输入cmd—>python,(dos命令)没有提示安装版本信息,则标明安装的python没有添加到环境变量里,需要手动添加。
解决方法:右击我的电脑–>属性–>左侧高级系统设置–>高级–>环境变量–>系统环境变量–>Path–>编辑–>新建–>添加Python安装路径以及scripts路径(资源管理器中的地址,或者在cmd中输入where python找到路径)–>添加后确定保存,重启dos命令行
三、pip的安装与使用
pip仓库
Python官方的PyPi仓库位我们提供了一个统一的代码托管仓库,python 有很多的第三方库或者说是模块。这些库针对不同的应用,发挥不同的作用,管理了所有的第三方库,甚至你自己写的开源模块,都可以发布到这里,让全世界的人分享下载。
pip的基础使用
在 Python3.4 之后,我们都使用 pip 对 pypi 仓库当中的第三方库进行安装、卸载、更新等操作的命令。
pip的基础使用
不要再python交互环境下安装库,要退出python环境,在系统环境下执行pip
pip command 库名 options == 指定版本
pip 命令 选项
pip install 库名 --> 安装库
pip install 库名 == 版本 --> 安装指定版本的库
pip uninstall 库名 --> 卸载库
pip list(freeze) --> 列出已经安装的所有的库
pip freeze > 路径(D:\a.txt) -->导出所有安装库的信息
pip install - r > 路径(D:\a.txt) -->新电脑批量安装库
pip show 库名(pygame) -->展示安装库的信息
pip show -f 库名 -->展示所有文件的信息
pip install -u 库名 --> 更新安装包
wheel文件安装
由于pip安装受网速的影响比较大,除了使用上面的方式联网进行安装外,还可以将安装包也就是 wheel 格式的文件,下载到本地,然后使用 pip 进行安装。比如我在 PYPI 上提前下载的pygame 库的 wheel 文件,后缀名为 whl。
实现步骤
- pip install wheel 安装 wheel 这个库
- 打开网址 https://www.lfd.uci.edu/~gohlke/pythonlibs
- 下载相应库的 .whl 文件,CTRL+F,搜索库名,找到相应Python版本、操作系统下的安装包(cp36,python版本win_amd64,64位操作系统)
- 在 dos 命令行安装 pip install 路径 path.whl(文件名),没网的时候也能安装
换源安装
优点:快!
换源:正常安装的时候 需要访问国外的网站,受到网速的限制,有时会比较慢,国内的机构下载了镜像文件,可以直接访问国内的网站进行下载。
阿里云:
http://mirrors.aliyun.com/pypi/simple/
中国科技大学:
https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban):
http://pypi.douban.com/simple/
清华大学:
https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学:
http://pypi.mirrors.ustc.edu.cn/simple
临时换源
pip install 库名 -i 源地址
pip install requests - i http://mirrors.aliyun.com/pypi/simple/ -->换源成阿里云
永久换源
不建议使用,电脑上有多个python时,会出现错误。
- 点击此电脑,在最上面的的文件夹窗口地址栏输入 : %APPDATA%
- 按回车跳转到以下目录,新建 pip 文件夹
- 创建 pip.ini 文件(配置文件)
- 打开文件夹,输入以下内容,关闭即可(注意:源镜像可替换)
四、代码编辑器
python自带的编辑器
-
搜索栏–>cmd–>python,可以进行代码的编辑,黑框,退出,exit()
-
搜索栏–>idle,可以进行代码的编辑,白框
- 搜索栏–>cmd -->pip install ipython -->ipython 测试时用的多,CTRL+c强制退出运行。(可以通过上下箭头回到以前的代码),history 可以查看输过的代码,退出exit
PyCharm
由 JetBrains 公司打造的一款 Python IDE,支持 Windows、Linux、macOS 系统。
下载地址:https://www.jetbrains.com/pycharm/download/#section=windows
pycham,不是一个交互式的环境,要借助print进行结果的输出,编写时有代码错误提示,运行错误时显示错误的行数,但安装文件比较大,尽量安装C盘以外的盘符
Professional 专业版 是收费的
Community 社区版 是免费的
默认下载的是最新版本,在左侧 Other versions 中可以选择其他版本
下载完成,安装后,第一次运行要配置一下解释器,File–>setting–>Project–>Project Interpreter–>右侧齿轮 Add–> System Interpreter -->Interpreter右侧三个点–>找到python的安装路径python3–>Tools–>python.exe
更改字体大小:File–>setting–>Editor–>Font–>Size(字体大小)–>Font(字体样式 )
设置pycharm的主题背景
选择python解释器的版本
pycharm设置字体
控制台设置
Pycharm的基本使用
-
在Pycharm下为你的Python项目配置Python解释器
Project:当前项目名>Project Interpreter>add Local -
在Pycharm下创建Python文件、Python模块
File>New>Python File
File>New>Python Package -
使用Pycharm安装Python第三方模块
Project:当前项目名>Project Interpreter>点击右侧绿色小加号 -
Pycharm基本设置,例如不使用tab、tab=4空格、字体、字体颜色、主题、脚本头设置、显示行号等。如何导出和导入自定义设置。
- 不使用tab、tab=4空格:Editor>Code Style>Python
- 字体、字体颜色:Edit>Colors & Fonts>Python
- 关闭自动更新:Appearance & Behavior>System Settings>Updates
- 脚本头设置:Edit>File and Code Templates>Python Script 注:其他类似
- 显示行号:Edit>General>Appearance>Show line numbers 注:2016.2默认显示行号
- 右侧竖线是PEP8的代码规范,提示一行不要超过120个字符
- 导出、导入你自定义的配置: File>Export Settings、Import Settings
常用快捷键的查询和配置
Ctrl + D:复制当前行
Ctrl + E:删除当前行
Shift + Enter:快速换行
Ctrl + /:快速注释(选中多行后可以批量注释)
Tab:缩进当前行(选中多行后可以批量缩进)
Shift + Tab:取消缩进(选中多行后可以批量取消缩进)
Ctrl + F:查找
Ctrl + H:替换
常用操作指南
例如复制文件路径、在文件管理器中打开、快速定位、查看模块结构视图、tab批量换space、TODO的使用、Debug的使用。
- 复制文件路径:左侧文件列表右键选中的文件>Copy Path
- 在文件管理器中打开:右键选中的文件>往下找到Show In Explorer
- 快速定位:Ctrl + 某些内建模块之后,点击在源文件中展开
- 查看结构:IDE左侧边栏Structure 查看当前项目的结构
- tab批量换space:Edit>Convert Indents
- TODO的使用:# TODO 要记录的事情
- Tab页上右键>Move Right(Down),把当前Tab页移到窗口右边(下边),方便对比
- 文件中右键>Local History能够查看文件修改前后的对比
- IDE右下角能看到一些有用的信息,光标当前在第几行的第几个字符、当前回车换行、当前编码类型、当前Git分支
- IDE右侧边栏>Database