1.1 第一个 Python 程序

# 第一个 Python 程序

##目标

* 第一个 `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)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335