zoukankan      html  css  js  c++  java
  • 第一个 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)

  • 相关阅读:
    JavaScript之事件委托
    js中的事件委托(事件代理)详解
    CentOS已经安装命令,但提示找不到
    在Linux下创建7种类型的文件
    python源码安装的包的卸载
    新建文件所属组设置
    FFmpeg基础
    微服务架构概念
    一台 Java 服务器可以跑多少个线程?
    「学习的真正作用」​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​写出我心(一百三十八)
  • 原文地址:https://www.cnblogs.com/z3286586/p/10550171.html
Copyright © 2011-2022 走看看