## 目标
* 第一个 `HelloPython` 程序
* `Python 2.x` 与 `3.x` 版本简介
* 执行 `Python` 程序的三种方式
* 解释器 —— `python` / `python3`
* 交互式 —— `ipython`
* 集成开发环境 —— `PyCharm`
## 01. 第一个 `HelloPython` 程序
### 1.1 Python 源程序的基本概念
1. Python 源程序就是**一个特殊格式的文本文件**,可以**使用任意文本编辑软件**做 `Python` 的开发
2. Python 程序的 **文件扩展名** 通常都是 `.py`
### 1.2 演练步骤
* 在桌面下,新建 `认识Python` 目录
* 在 `认识Python` 目录下新建 `01-HelloPython.py` 文件
* 使用 **gedit** 编辑 `01-HelloPython.py` 并且输入以下内容:
```python
print("hello python")
print("hello world")
```
* 在终端中输入以下命令执行 `01-HelloPython.py`
```bash
$ python 01-HelloPython.py
```
> `print` 是 `python` 中我们学习的第一个 **函数**
>
> `print` 函数的作用,可以把 **""** 内部的内容,输出到屏幕上
### 1.3 演练扩展 —— 认识错误(BUG)
#### 关于错误
* 编写的程序**不能正常执行**,或者**执行的结果不是我们期望的**
* 俗称 `BUG`,是程序员在开发时非常常见的,初学者常见错误的原因包括:
1. 手误
2. 对已经学习过的知识理解还存在不足
3. 对语言还有需要学习和提升的内容
* 在学习语言时,不仅要**学会语言的语法**,而且还要**学会如何认识错误和解决错误的方法**
> 每一个程序员都是在不断地修改错误中成长的
#### 第一个演练中的常见错误
* 1> **手误**,例如使用 `pirnt("Hello world")`
```
NameError: name 'pirnt' is not defined
名称错误:'pirnt' 名字没有定义
```
* 2> 将多条 `print` 写在一行
```
SyntaxError: invalid syntax
语法错误:语法无效
```
> 每行代码负责完成一个动作
* 3> 缩进错误
```
IndentationError: unexpected indent
缩进错误:不期望出现的缩进
```
> * Python 是一个格式非常严格的程序设计语言
> * 目前而言,大家记住每行代码前面都不要增加空格
* 4> **python 2.x 默认不支持中文**
目前市场上有两个 Python 的版本并存着,分别是 `Python 2.x` 和 `Python 3.x`
* **Python 2.x 默认不支持中文**,具体原因,等到介绍 **字符编码** 时给大家讲解
* Python 2.x 的解释器名称是 **python**
* Python 3.x 的解释器名称是 **python3**
```
SyntaxError: Non-ASCII character '\xe4' in file 01-HelloPython.py on line 3,
but no encoding declared;
see http://python.org/dev/peps/pep-0263/ for details
语法错误: 在 01-HelloPython.py 中第 3 行出现了非 ASCII 字符 '\xe4',但是没有声明文件编码
请访问 http://python.org/dev/peps/pep-0263/ 了解详细信息
```
> * `ASCII` 字符只包含 `256` 个字符,不支持中文
> * 有关字符编码的问题,后续会讲
#### 单词列表
```
* error 错误
* name 名字
* defined 已经定义
* syntax 语法
* invalid 无效
* Indentation 索引
* unexpected 意外的,不期望的
* character 字符
* line 行
* encoding 编码
* declared 声明
* details 细节,详细信息
* ASCII 一种字符编码
```
## 02. `Python 2.x` 与 `3.x` 版本简介
目前市场上有两个 Python 的版本并存着,分别是 `Python 2.x` 和 `Python 3.x`
> 新的 Python 程序建议使用 `Python 3.0` 版本的语法
* Python 2.x 是 **过去的版本**
* 解释器名称是 **python**
* Python 3.x 是 **现在和未来 主流的版本**
* 解释器名称是 **python3**
* 相对于 `Python` 的早期版本,这是一个 **较大的升级**
* 为了不带入过多的累赘,`Python 3.0` 在设计的时候 **没有考虑向下兼容**
* 许多早期 `Python` 版本设计的程序都无法在 `Python 3.0` 上正常执行
* Python 3.0 发布于 **2008 年**
* 到目前为止,Python 3.0 的稳定版本已经有很多年了
* Python 3.3 发布于 2012
* Python 3.4 发布于 2014
* Python 3.5 发布于 2015
* Python 3.6 发布于 2016
* 为了照顾现有的程序,官方提供了一个过渡版本 —— **Python 2.6**
* 基本使用了 `Python 2.x` 的语法和库
* 同时考虑了向 `Python 3.0` 的迁移,**允许使用部分** `Python 3.0` 的语法与函数
* 2010 年中推出的 `Python 2.7` 被确定为 **最后一个Python 2.x 版本**
> 提示:如果开发时,无法立即使用 Python 3.0(还有极少的第三方库不支持 3.0 的语法),建议
>
> * 先使用 `Python 3.0` 版本进行开发
> * 然后使用 `Python 2.6`、`Python 2.7` 来执行,并且做一些兼容性的处理
## 03. 执行 Python 程序的三种方式
### 3.1. 解释器 `python` / `python3`
#### Python 的解释器
```bash
# 使用 python 2.x 解释器
$ python xxx.py
# 使用 python 3.x 解释器
$ python3 xxx.py
```
##### 其他解释器(知道)
**Python 的解释器** 如今有多个语言的实现,包括:
* `CPython` —— 官方版本的 C 语言实现
* `Jython` —— 可以运行在 Java 平台
* `IronPython` —— 可以运行在 .NET 和 Mono 平台
* `PyPy` —— Python 实现的,支持 JIT 即时编译
### 3.2. 交互式运行 Python 程序
* 直接在终端中运行解释器,而不输入要执行的文件名
* 在 Python 的 `Shell` 中直接输入 **Python 的代码**,会立即看到程序执行结果
#### 1) 交互式运行 Python 的优缺点
##### 优点
* 适合于学习/验证 Python 语法或者局部代码
##### 缺点
* 代码不能保存
* 不适合运行太大的程序
#### 2) 退出 官方的解释器
##### 1> 直接输入 `exit()`
```python
>>> exit()
```
##### 2> 使用热键退出
在 python 解释器中,按热键 `ctrl + d` 可以退出解释器
![001_积跬步以至千里](media/14950456888393/001_%E7%A7%AF%E8%B7%AC%E6%AD%A5%E4%BB%A5%E8%87%B3%E5%8D%83%E9%87%8C.jpg)
#### 3) IPython
* IPython 中 的 “I” 代表 **交互 interactive**
##### 特点
* IPython 是一个 python 的 **交互式 shell**,比默认的 `python shell` 好用得多
* 支持自动补全
* 自动缩进
* 支持 `bash shell` 命令
* 内置了许多很有用的功能和函数
* IPython 是基于 BSD 开源的
##### 版本
* Python 2.x 使用的解释器是 **ipython**
* Python 3.x 使用的解释器是 **ipython3**
* 要退出解释器可以有以下两种方式:
##### 1> 直接输入 `exit`
```python
In [1]: exit
```
##### 2> 使用热键退出
在 IPython 解释器中,按热键 `ctrl + d`,`IPython` 会询问是否退出解释器
#### IPython 的安装
```bash
$ sudo apt install ipython
```
## 3.3. Python 的 IDE —— `PyCharm`
### 1) 集成开发环境(IDE)
集成开发环境(`IDE`,Integrated Development Environment)—— **集成了开发软件需要的所有工具**,一般包括以下工具:
* 图形用户界面
* 代码编辑器(支持 **代码补全**/**自动缩进**)
* 编译器/解释器
* 调试器(**断点**/**单步执行**)
* ……
### 2)PyCharm 介绍
* `PyCharm` 是 Python 的一款非常优秀的集成开发环境
* `PyCharm` 除了具有一般 IDE 所必备功能外,还可以在 `Windows`、`Linux`、`macOS` 下使用
* `PyCharm` 适合开发大型项目
* 一个项目通常会包含 **很多源文件**
* 每个 **源文件** 的代码行数是有限的,通常在几百行之内
* 每个 **源文件** 各司其职,共同完成复杂的业务功能
### 3)PyCharm 快速体验
![001_PyCharm的界面结构](media/14950456888393/001_PyCharm%E7%9A%84%E7%95%8C%E9%9D%A2%E7%BB%93%E6%9E%84.png)
* **文件导航区域** 能够 **浏览**/**定位**/**打开** 项目文件
* **文件编辑区域** 能够 **编辑** 当前打开的文件
* **控制台区域** 能够:
* 输出程序执行内容
* 跟踪调试代码的执行
* 右上角的 **工具栏** 能够 **执行(SHIFT + F10)** / **调试(SHIFT + F9)** 代码
![002_PyCharm运行工具栏](media/14950456888393/002_PyCharm%E8%BF%90%E8%A1%8C%E5%B7%A5%E5%85%B7%E6%A0%8F.png)
* 通过控制台上方的**单步执行按钮(F8)**,可以单步执行代码
![003_PyCharm调试器](media/14950456888393/003_PyCharm%E8%B0%83%E8%AF%95%E5%99%A8.png)
第一个 Python 程序的更多相关文章
-
第一个python程序
一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...
-
3.第一个python程序
学习任何一门语言的第一步,首先要写个'hello world',这算是程序员的一个传统.但在写之前,还有注意几个问题. 首先,python是一门脚本语言,而脚本语言的特点就是:我们写的代码会先由解释器 ...
-
python入门(4)第一个python程序
python入门(4)第一个python程序 在交互式环境的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果.现在,试试输入100+200,看看计算结果是不是300: ...
-
python笔记:#002#第一个python程序
第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3.x 版本简介 执行 Python 程序的三种方式 解释器 -- python / python ...
-
2.第一个python 程序
第一个python程序 一..python程序的编写步骤 1.创建 xxx.py文件(文件名不要中文) 文件名要以py为扩展名,因为导入的时候其他扩展名会报错.如果不导入的情况可以不限制扩展名. 2 ...
-
python基础学习(一) 第一个python程序
1. 使用python/python3解释器的方式 按照惯例,我们都是以Hello world作为一门程序语言的开始,进行如下的操作: 在桌面上新建一个hello-python文件夹 进入hello- ...
-
1.3 第一个python程序
使用Pycharm编写第一个python程序 1.打开 Pycharm,选择 Create New Project,创建一个新项目 2.选择Pure Python表示创建一个纯Python程序项目, ...
-
运行第一个Python程序
Python的三种运行方式 交互式解释器 在终端输入python3 进入python交互式解释器 输入exit()退出交互式解释器 命令行脚本 创建python脚本 通过命令执行程序 python h ...
-
人生苦短之---第一个Python程序
第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3.x 版本简介 执行 Python 程序的三种方式 解释器 —— python / python ...
-
[No0000120]Python教程3/9-第一个Python程序
现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上.写程序也讲究一个感觉,你需 ...
随机推荐
-
Highcharts X轴名称太长,如何设置下面这种样式
Highcharts所有的图表除了饼图都有X轴和Y轴,默认情况下,x轴显示在图表的底部,y轴显示在左侧(多个y轴时可以是显示在左右两侧),通过chart.inverted = true 可以让x, ...
-
Flume1.5.0的安装、部署、简单应用(含伪分布式、与hadoop2.2.0、hbase0.96的案例)
目录: 一.什么是Flume? 1)flume的特点 2)flume的可靠性 3)flume的可恢复性 4)flume 的 一些核心概念 二.flume的官方网站在哪里? 三.在哪里下载? 四.如何安 ...
-
fastreport for .net 数据邦定
C# Code: private void button4_Click(object sender, EventArgs e){ //打印主从表数据 string file = Applic ...
-
ASP + ACCESS 上传图片到数据库与将图片读出数据库显示之实现
1.uppic.asp:上传图片程序 <% dim rs dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata formsi ...
-
Linux lsof命令使用小结
lsof(list open files)是一个列出当前系统打开文件的工具.在Linux环境下,任何事物都是以文件的形式存在,通过文件不仅可以访问常规数据,还可以访问网络连接和硬件.所以,如传 ...
-
stitching detail输出的dot图含义
如果利用opencv里面提供的stitching detail的话. 输入参数: stitching_detail --save_graph a.dot 1.png 2.png 其中a.dot 文件中 ...
-
linux下apache-tomcat的安装
一.JDK安装 1.安装JDK软件包 本例使用的JDK安装包为jdk-6u19-linux-x64.bin,该包是一个编译好的二进制可执行程序包,只需要执行即可安装. 首先进入存放JDK安装包的目录( ...
-
常用Content-type汇总
Content-Type,内容类型,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式.什么编码读取这个文件.这里汇总一下常用的,所有资料来源于网络,未经测试: 文件后缀 处理方式 .* ...
-
二、获取AccessToken
二.获取AccessToken 1.官方文档: access_token是微信官方公众号调用接口的全局唯一票据,开发者调用任何接口都需要使用access_token,由于access_token有效期 ...
-
正则表达式引擎的构建——基于编译原理DFA(龙书第三章)——3 计算4个函数
整个引擎代码在github上,地址为:https://github.com/sun2043430/RegularExpression_Engine.git nullable, firstpos, la ...