首页 > 编程语言 >Python系列(1)- Python 简介、开发环境配置和基础语法

Python系列(1)- Python 简介、开发环境配置和基础语法

时间:2022-10-19 20:26:40浏览次数:75  
标签:Python 简介 代码 语法 Windows Linux print 安装


Python 是荷兰人 Guido van Rossum(吉多·范罗苏姆,中国程序员称其为 “龟叔”)在 1990 年初开发的一种解释型编程语言。Python 源代码遵循 GPL(GNU General Public License)协议,现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间而开发的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是 Monty Python 戏剧团的忠实粉丝。

Python 语言是在 ABC 语言的基础上发展而来,其设计的初衷是成为 ABC 语言的替代品。ABC 语言虽然是一款功能强大的高级语言,遗憾的是,由于 ABC 语言不开放的原因,导致它没有得到普及应用。基于这个考虑,Guido 在开发 Python 之初就决定将其开源。

Python 中不仅添加了许多 ABC 语言没有的功能,同时,还为其设计了各种丰富而强大的库,利用这些 Python 库,程序员可以把使用其它语言制作的各类模块(尤其是 C 语言和 C++)很轻松地“黏连”在一起,因此 Python 又常被称为 “胶水” 语言。

注:这里所说的库和模块,简单地理解就是一个个的源文件,每个文件中都包含可实现各种功能的方法(也可称为函数)。


1. Python 简介

    Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

    Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

    Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于 PHP 和 Perl 语言。
    Python 是交互式语言:这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
    Python 是面向对象语言: 这意味着 Python 支持面向对象的风格或代码封装在对象的编程技术。
    Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

    Python 发展历史:

        (1) Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
        (2) Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。
        (3) Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的 Python 2.6/2.7 版本。
        (4) Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。

    Python 特点:

        (1) 易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
        (2) 易于阅读:Python 代码定义的更清晰。
        (3) 易于维护:Python 的成功在于它的源代码是相当容易维护的。
        (4) 一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX,Windows 和Macintosh 兼容很好。
        (5) 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
        (6) 可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
        (7) 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C/C++ 完成那部分程序,然后从你的 Python 程序中调用。
        (8) 数据库:Python 提供所有主要的商业数据库的接口。
        (9) GUI 编程:Python 支持 GUI 可以创建和移植到许多系统调用。
        (10) 可嵌入: 可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得 "脚本化" 的能力。


2. Python 开发环境配置

    Python 可应用于多种平台包括 Windows、Linux 和 Mac OS X 等,这里重点关注 Windows 和 Linux 环境下的配置。

    Python 官网:https://www.python.org/
    Python 文档地址:https://www.python.org/doc/

    1) Windows 下安装 Python

        在 Windows 上安装 Python 和安装普通软件一样简单,下载地址: https://www.python.org/downloads/windows/ 。
        
        Python 有两个版本的 Python,分别是 Python 3.x 和 Python 2.x,建议初学者直接使用 Python 3.x,本文以 3.8.1 的文件下载列表为例:

            Python 3.8.1 - Dec. 18, 2019
            Note that Python 3.8.1 cannot be used on Windows XP or earlier.

            Download Windows help file
            Download Windows x86-64 embeddable zip file
            Download Windows x86-64 executable installer
            Download Windows x86-64 web-based installer
            Download Windows x86 embeddable zip file
            Download Windows x86 executable installer
            Download Windows x86 web-based installer

        前缀说明:
            
            以 Windows x86-64 开头的是 64 位的 Python 安装程序;
            以 Windows x86 开头的是 32 位的 Python 安装程序;

        后缀说明:

            embeddable zip file 表示 .zip 格式的绿色免安装版本,可以直接嵌入(集成)到其它的应用程序中;
            executable installer 表示 .exe 格式的可执行程序,这是完整的离线安装包,一般选择这个即可;
            web-based installer 表示通过网络安装的,也就是说下载到的是一个安装工具,安装过程中还需要联网下载真正的 Python 安装包。

        本文选择的是 “Windows x86-64 executable installer”,也即 64 位的完整的离线安装包。

        请尽量勾选 Add Python 3.8 to PATH,这样可以将 Python 命令工具所在目录添加到系统 Path 环境变量中,便于命令行运行 Python 命令。

        Python 支持两种安装方式,默认安装和自定义安装:

            默认安装会勾选所有组件,并安装在 C 盘;
            自定义安装可以手动选择要安装的组件,并安装到其它盘符。

        初学者建议选择默认安装。

    2) Linux 下安装 Python

        绝大多数的 Linux 发行版(Ubuntu、CentOS 等)都默认自带了 Python。有的 Linux 发行版甚至还会自带两个版本的 Python(Python 2.x 和 Python 3.x)。

        打开 Linux 终端(Terminal),输入 python 命令就可以检测是否安装了 Python,以及安装了哪个版本,如下所示:

            $ python -V

                Python 2.7.5

            注:当前的 Linux 发行版已经自带了 Python 2.7.5。

        大部分的 Linux 发行版会自带 Python 2.x,检测当前 Linux 发行版是否安装了 Python 3.x,可以在终端(Terminal)输入 python3 命令,如下所示:

            $ python3 -V

                -bash: python3: command not found

            注:当前的 Linux 发行版没有带 Python 3.x。如果需要使用 Python 3 (或现有 Python 3 版本不够新),那么就需要更新 Python 版本,这里以 Ubuntu 为例。

        (1) 更新 Python 版本

            在 Ubuntu 终端执行以下两条命令即可更新 Python 版本:

                $ sudo apt-get update
                $ sudo apt-get install python3.8

            命令说明:

                第一条命令用来指定更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 所列出的源地址,这样能够保证获得最新的安装包。
                第二条命令用来指定安装 Python 3.8,这是目前最新的 Python 版本。

            等待以上两条命令执行完成,再次在终端输入 python3 -V 命令,查看 Python 3.x 版本。

        (2) 下载 Python 源码安装

            在 apt-get 安装方式不作用时,可以尝试下载源代码,自己编译安装,当然,对 Linux 系统不熟悉的初学者要谨慎操作。

            从 Python 官方(https://www.python.org/downloads/)下载页面,选择指定版本的 “Gzipped source tarball” 源码压缩包 (.tgz 格式) 的地址。

            运行如下命令:

                $ wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
                $ tar -zxvf Python-3.8.1.tgz
           
            进入 tar 解开的目录,使用 make 工具进行编译:

                $ ./configure  --prefix=/usr/local
                $ make && sudo make install

            这里的 --prefix=/usr/local 用于指定安装目录(建议指定)。如果不指定,就会使用默认的安装目录。

            在终端输入 python3 -V 命令,查看 Python 3.x 版本。

    3) Docker 部署 Python

        参考 “Docker基础知识 (6) - 使用 Docker 部署常用的应用程序”  的 “8. 部署 Python”。


3. Python 开发工具

    IDE 是 Integrated Development Environment 的缩写,中文称为集成开发环境,用来表示辅助程序员开发的应用软件,是它们的一个总称。

    用 Python 语言进行程序开发,既可以用 Python 自带的 IDLE,也可以使用 PyCharm 或 Eclipse+PyDev 等作为 IDE。

    1) PyCharm

        PyCharm 由 JetBrains 公司开发的一款 Python 开发工具,在 Windows、Mac OS 和 Linux 操作系统中都可以使用。

        PyCharm 具有语法高亮显示、Project(项目)管理代码跳转、智能提示、自动完成、调试、单元测试以及版本控制等一般开发工具都具有的功能,除此之外,它还支持 Django(Python 的 Web 开发框架)框架下进行 Web 开发。
        
        PyCharm 开发工具可通过其官方网站下载获取。需要注意的是,该网站提供了 2 个版本,一个是社区版(免费并且提供源代码,适合多数读者),另一个是专业版(免费试用)。

        PyCharm 官网:http://www.jetbrains.com/pycharm/

    2) Eclipse + PyDev

        Eclipse 是一个开源的、基于 Java 的可扩展开发平台,最初主要用于 Java 语言的开发。该平台可通过安装不同的插件,进行不同语言的开发。

        PyDev 是一款功能强大的 Eclipse 插件,它可以提供语法高亮、语法分析、语法错误提示,以及大纲视图显示导入的类、库和函数、源代码内部的超链接、运行和调试等功能。

        除此之外,还有 PythonWin(只针对 Win32 平台)、MacPython IDE(PythonWin 对应的 Mac 版本)、Emacs 和 Vim(功能强大的文本编辑器,可以用来编写 Python 程序)等,都可以作为执行 Python 程序的 IDE。

        Eclipse+PyDev 的安装要比 PyCharm 复杂,大致分为以下 3 个步骤:
            
            (1) 安装 JRE(Java 运行环境)或 JDK(Java 开发工具包),Eclipse 是基于 Java 的开发工具,必须有 Java 运行环境才能运行;
            (2) 下载和安装 Eclipse;
            (3) 安装 PyDev 插件,运行 Eclipse 后,在菜单 “Help->Install New Software”,在对话框的 Location 文本框中,输出 PyDev 插件的下载地址(http://pydev.org/updates)。

            JDK: https://www.oracle.com/java/technologies/downloads/
            Eclipse: https://www.eclipse.org/downloads/

        PyDev 插件安装成功后,还需要设置 Python 解释器,具体步骤为:

            (1) 打开 Eclipse,选择菜单 “Window -> Preferences”,弹回设置对话框;
            (2) 选择 “PyDev -> Interpreters -> Python Interpreter”,这里可以通过点击 "Config first in PATH" 按钮,通过在 Path 路径中找到 Python 解释器,也可以点击 “Browse for Python/pypy exe” 按钮,手动找到 Python 解释器。添加完成后,点击 “Apply and Close” 按钮即可。

    3) Visual Studio Code

        Visual Studio Code,简称 VS Code,是微软公司开发的一款轻量级 IDE。和 PyCharm 一样,它也支持在 Windows、Linux 和 macOS 平台上运行。

        VS Code:https://code.visualstudio.com/Download

        VS Code 支持几乎所有主流开发语言的语法高亮、智能代码补全、自定义热键、括号匹配等功能,支持使用插件进行功能扩展,还针对网页开发和云端应用开发做了优化。

        值得一提的是,使用 VS Code 编写 Python 代码,无需向其它编译器那样,通过创建项目来管理源代码文件,在 VS Code 中可以直接创建 Python 源代码文件。

        VS Code 安装 Python 扩展的方法:

            (1) 在 Welcome 界面中选择 "Python",下方会弹出一个对话框,选择 "OK",即可完成 Python 扩展的安装;
            (2) 点击 “扩展” 按钮,并搜索 Python 扩展插件,找到合适的扩展(这里选择的是第一个,这是 Python 的调试工具),选择 “Install” 即可安装成功。

    4)Sublime Text

        Sublime Text 是一款流行的文本编辑器,它体积小、运行速度快、文本功能强大、可以运行在 Windows、Linux 和 Mac OS X 平台上。

        在程序员眼里,Sublime Text 还是一款非常好用的代码编辑器,它支持运行 C/C++、Python、Java 等多种语言编写的程序。

        Sublime Text: https://www.sublimetext.com/


4. 基础语法

    Python 是一种解释型的脚本编程语言,这样的编程语言一般支持两种代码运行方式:

        (1) 交互式编程: 在命令行窗口中直接输入代码,按下回车键就可以运行代码,并立即看到输出结果;执行完一行代码,你还可以继续输入下一行代码,再次回车并查看结果……整个过程就好像我们在和计算机对话,所以称为交互式编程。
        (2) 编写源文件: 创建一个源文件,将所有代码放在源文件中,让解释器逐行读取并执行源文件中的代码,直到文件末尾,也就是批量执行代码。这是最常见的编程方式,也是我们要重点学习的。

    1) Hello World 程序

        (1) 交互式

            Python 交互式编程环境,第一种方法是在命令行工具或者终端(Terminal)窗口中输入 python 命令,看到 >>> 提示符就可以开始输入代码,这里以 Windows 终端为例,如下所示:

                D:\>python
                Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
                Type "help", "copyright", "credits" or "license" for more information.
                >>> print("Hello world!")
                Hello world!
                >>>


            第二种方法是打开 Python 自带的 IDLE 工具,具体操作与第一种方法类似。        
    
        (2) 编写源文件

            内容如下:

                #!/usr/bin/python3
                
                # 注释1
                # 注释2
                
                '''
                注释3
                注释4
                '''
                
                """
                注释5
                注释6
                """

                print("Hello world!")


            保存为 D:\hello.py, 打开 cmd 命令窗口,进入 D:\

                D:\> python hello.py
                    
                    Hello World

            在 Sublime Text 里运行:

                使用 Sublime Text 打开 D:\hello.py 文件,在菜单栏中依次找到 “Tools -> Build System”,然后选择“Python”。然后按 "Ctrl+B" 组合键或者选择 Tools 菜单中的 “Build” 选项,就可以运行 Python 程序。运行结果为:

                    Hello World!
                    [Finished in 1.0s]

    2) 编码

        默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

            # -*- coding: cp-1252 -*-

        上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白罗斯语、马其顿语、俄语、塞尔维亚语。

    3) 标识符

        在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。标识符的命名规则:

            (1) 第一个字符必须是字母表中字母或下划线 _ ;
            (2) 标识符的其他的部分由字母、数字和下划线组成;
            (3) 标识符对大小写敏感;

    4) python 保留字

        保留字即关键字,不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字,进入交互模式输入如下代码:

            >>> import keyword
            >>> keyword.kwlist

    5) 注释

        Python 单行注释以 # 开头,多行注释可以用多个 # 号,还有 ''' 和 """。

    6) 行与缩进

        Python 使用缩进来表示代码块,不需要使用大括号 {} 。

        缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

            if True:
                print ("True")
            else:
                print ("False")

        以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

            if True:
                print ("Answer")
                print ("True")
            else:
                print ("Answer")
              print ("False")    # 缩进不一致,会导致运行错误

        执行后会出现类似以下错误:

            File "test.py", line 6
                print ("False")    # 缩进不一致,会导致运行错误

            IndentationError: unindent does not match any outer indentation level

    7) 多行语句

        Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:

            total = item_one + \
                    item_two + \
                    item_three

        在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,例如:

            total = ['item_one', 'item_two', 'item_three',
                    'item_four', 'item_five']

    8) 数字 (Number) 类型

        Python 中数字有四种类型:整数、布尔型、浮点数和复数。

        int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
        bool (布尔), 如 True。
        float (浮点数), 如 1.23、3E-2
        complex (复数), 如 1 + 2j、 1.1 + 2.2j

    9) 字符串 (String)

        Python 中字符串 (String) 的特点如下:

            (1) Python 中字符串是不可变类型,即无法直接修改字符串的某一位字符。修改字符串主要有 3 种方法:切片法、重新赋值和 replace 函数,切片法本质上就是重新赋值;
            (2) 单引号 ' 和双引号 " 使用完全相同,使用三引号 (''' 或 """) 可以指定一个多行字符串;         
            (3) 没有单独的字符类型,一个字符就是长度为 1 的字符串;
            (4) 有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。字符串的截取格式:变量[头下标:尾下标:步长];    
            (5) 字符串可以用 + 运算符连接在一起,用 * 运算符重复。反斜杠 \ 可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行;
            (6) 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string;
        
        示例:

            #!/usr/bin/python3

            word = '字符串'
            sentence = "这是一个句子。"
            paragraph = """这是一个段落,
                        可以由多行组成"""

            str='123456789'
            
            print(str)                 # 输出字符串
            print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
            print(str[0])              # 输出字符串第一个字符
            print(str[2:5])            # 输出从第三个开始到第五个的字符
            print(str[2:])             # 输出从第三个开始后的所有字符
            print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
            print(str * 2)             # 输出字符串两次
            print(str + '你好')         # 连接字符串
            
            print('------------------------------')
            
            print('hello\nworld')      # 使用反斜杠(\)+n转义特殊字符
            print(r'hello\nworld')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

 

    10) 空行

        函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

        空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

        注:空行也是程序代码的一部分。

    11) 用户输入

        执行下面的程序在按回车键后就会等待用户输入:

            #!/usr/bin/python3
 
            input("\n\n按下 enter 键后退出。")

            以上代码中 ,\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出

    12) 同一行多条语句

        Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割,以下是一个简单的实例:

            #!/usr/bin/python3
 
            import sys; x = 'test'; sys.stdout.write(x + '\n')

    13) 多个语句构成代码组

        缩进相同的一组语句构成一个代码块,我们称之代码组。

        if、while、def 和 class 这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

        将首行及后面的代码组称为一个子句 (clause)。

        示例:

            if condition :
                语句
            elif condition :
                语句
            else :
                语句

    14) print 输出

        print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""。

        #!/usr/bin/python3
        
        x="a"
        y="b"
        # 换行输出
        print( x )
        print( y )
        
        print('---------')
        # 不换行输出
        print( x, end=" " )
        print( y, end=" " )
        print()

 


本系列文章资料参考来源:

1. http://c.biancheng.net/python/
2. https://www.runoob.com/python3/python3-tutorial.html
3. https://www.python.org/


标签:Python,简介,代码,语法,Windows,Linux,print,安装
From: https://www.cnblogs.com/tkuang/p/16807611.html

相关文章