目录

一、Python背景以及介绍

二、Python开发环境搭建

2.1 Python 是解释型语言

2.2 python 版本差别

2.2.1 语法差异

2.2.2 标准库差异

2.2.3 功能差异

2.2.4 性能差异

2.2.5 兼容性

2.3 常用的python IDE

2.3.1 PyCharm 版本

2.3.2 安装 PyCharm 和 Python

2.3.3 自动环境搭建

三、第一个python程序及数据类型

3.1 第一个python程序

3.2 python的数值类型

3.3 python的字符串类型

3.4 python中变量,关键字,标识符概念

3.5 python的注释

四、python的输入和输出


一、Python背景以及介绍

        Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 在 1989 年设计,并于 1991 年发布了其第一个公开发行版。Python 开发者的核心理念是“用一种方法,最好只有一种方法来做一件事”。在设计 Python 语言时,他们倾向于拒绝复杂的语法,而是选择那些明确、直观且几乎无歧义的语法。在日常应用中,Python 展现出了以下显著特点:

  • 语法简洁清晰,易于阅读和编写。
  • 强制缩进,使得代码结构更加清晰,减少了出错的可能性。
  • 解释性语言,无需编译即可直接运行,开发效率高。
  • 面向对象,支持面向对象编程范式。
  • 拥有丰富的库和强大的第三方支持,可以快速开发各种应用程序。
  • 被誉为“胶水语言”,能够轻松地将其他语言编写的模块集成在一起。
  •         Python 的设计哲学强调优雅、明确和简单。这种设计哲学使得 Python 成为许多领域的首选语言,包括安全、数据分析、人工智能等。

            学习 Python 具有多重优势。首先,Python 可以方便地实现各种有趣且实用的程序,如网络爬虫,用于收集和分析数据。其次,许多安全软件使用 Python 作为扩展脚本语言,学习 Python 可以帮助你更好地理解这些软件的工作原理。此外,许多黑客工具也是用 Python 编写的,学习 Python 将使你能够更加熟练地利用这些工具。

    二、Python开发环境搭建

    2.1 Python 是解释型语言

            Python是一种解释型语言。这意味着Python代码在运行时是由解释器逐行读取并执行的,而不是像编译型语言那样先编译成机器码再执行。

    具体来说,Python解释器的工作流程如下:

    1. 词法分析:解释器首先将源代码分解成一个个的词法单元(tokens)。

    2. 语法分析:然后,这些词法单元被组织成一个抽象语法树(Abstract Syntax Tree, AST)。

    3. 编译:接下来,AST被编译成字节码(bytecode),这是一种与特定硬件平台无关的中间表示形式。

    4. 解释执行:最后,Python虚拟机(Python Virtual Machine, PVM)执行这些字节码。

            虽然Python代码在运行前会被编译成字节码,但这个编译步骤是透明的,对用户来说,Python代码是直接被解释执行的。这也是为什么Python被称为解释型语言的原因。

    解释型语言的优点包括:

  • 跨平台性:字节码可以在任何安装了相应Python解释器的平台上运行。

  • 开发速度快:无需编译步骤,可以快速测试和修改代码。

  •         然而,解释型语言通常运行速度比编译型语言慢,因为解释器在运行时需要实时翻译字节码。不过,像PyPy这样的解释器使用了即时编译(JIT)技术来提高执行速度,从而在一定程度上弥补了这一缺点。

    2.2 python 版本差别

            我们来比较之前常用的python2.x和python3.x的区别

            Python 2.x 和 Python 3.x 之间存在许多显著的差异,这些差异主要体现在语法、标准库、功能和性能等方面。以下是一些主要的区别:

    2.2.1 语法差异

    1. 打印语句

    2. Python 2.x:使用 print 语句,例如 print "Hello, World!"

    3. Python 3.x:使用 print() 函数,例如 print("Hello, World!")

    4. 整数除法

    5. Python 2.x:整数除法会截断小数部分,例如 3 / 2 结果为 1

    6. Python 3.x:整数除法会返回浮点数,例如 3 / 2 结果为 1.5。使用 // 进行整数除法。

    7. Unicode 字符串

    8. Python 2.x:字符串默认为 ASCII 字符串,Unicode 字符串需要前缀 u,例如 u"Hello, World!"

    9. Python 3.x:字符串默认为 Unicode 字符串,例如 "Hello, World!"

    10. 异常处理

    11. Python 2.x:使用 except Exception, e: 语法。

    12. Python 3.x:使用 except Exception as e: 语法。

    13. 迭代器

    14. Python 2.x:range() 返回列表,xrange() 返回迭代器。

    15. Python 3.x:range() 返回迭代器,移除了 xrange()

    2.2.2 标准库差异

    1. 模块重命名

    2. Python 3.x 对许多标准库模块进行了重命名和重组,例如 ConfigParser 模块在 Python 3.x 中变成了 configparser

    3. 移除的模块

    4. Python 3.x 移除了一些在 Python 2.x 中存在的模块,例如 tkinter.tixtkinter.ttk

    2.2.3 功能差异

    1. 类型提示

    2. Python 3.x 引入了类型提示(Type Hints),可以使用 typing 模块进行静态类型检查。

    3. 矩阵乘法运算符

    4. Python 3.x 引入了矩阵乘法运算符 @

    5. 异步编程

    6. Python 3.x 引入了 asyncawait 关键字,用于异步编程。

    2.2.4 性能差异

  • Python 3.x 在某些情况下可能比 Python 2.x 有更好的性能,尤其是在处理 Unicode 字符串和某些内置函数时。

  • 2.2.5 兼容性

  • Python 2.x 和 Python 3.x 之间的代码通常不兼容,需要进行一定的修改才能从一个版本迁移到另一个版本。

  •         总结来说,Python 2.x 和 Python 3.x 之间的差异主要体现在语法、标准库、功能和性能等方面。由于 Python 2.x 系列已经不再受到官方支持,建议新项目和现有项目迁移到 Python 3.x 系列。

    2.3 常用的python IDE

            python常用的集成开发环境有PyCharm,Visual Studio Code (VS Code),或微软的Visual Studio201x等等软件。这里我们主要介绍PyCharm。

            PyCharm 确实是一个非常受欢迎的 Python 集成开发环境(IDE),由 JetBrains 开发。它提供了丰富的功能,包括代码自动完成、调试、版本控制集成、代码分析等,非常适合专业开发者和学习者使用。

    2.3.1 PyCharm 版本

    PyCharm 有多个版本:

  • Community Edition(社区版):免费、开源,适合个人开发者和小型项目。

  • Professional Edition(专业版):付费,提供更多高级功能,如 Web 开发支持、数据库工具、远程开发功能等,适合专业开发者和企业使用。

  • Educational Edition(教育版):免费,专为教学和学习设计,包含了一些教学工具和插件。

  • 2.3.2 安装 PyCharm 和 Python

    1. 下载 PyCharm

    2. 访问 JetBrains 官网
      https://www.jetbrains.com/pycharm

    3. 安装 PyCharm

    4. 下载完成后,运行安装程序,按照提示进行安装。

    5. 在安装过程中,可以选择是否创建桌面快捷方式、关联文件类型等。

    6. 配置 Python 解释器

    7. 安装完成后,打开 PyCharm。

    8. 首次启动时,PyCharm 会提示你配置 Python 解释器。你可以选择已经安装的 Python 版本,或者从 PyCharm 中下载并安装新的 Python 解释器。

    9. 如果你已经安装了 Python 3.5,可以在配置解释器时选择它。

    2.3.3 自动环境搭建

            PyCharm 确实可以简化环境搭建过程,但它不会自动安装 Python 解释器。你需要手动选择或安装 Python 解释器。以下是具体步骤:

    1. 打开 PyCharm

    2. 创建一个新项目或打开一个现有项目。

    3. 配置 Python 解释器

    4. 进入 File -> Settings(Windows)或 PyCharm -> Preferences(macOS)。

    5. 在左侧导航栏中选择 Project: <项目名称> -> Python Interpreter

    6. 点击齿轮图标,选择 Add...

    7. 选择 System Interpreter,然后浏览到你安装的 Python 3.5 解释器路径,或者选择 New Environment 创建一个新的虚拟环境。

    8. 完成配置

    9. 配置完成后,PyCharm 会自动识别并使用你选择的 Python 解释器。

            总结来说,PyCharm 是一个功能强大的 IDE,适合各种规模的 Python 项目。虽然它不会自动安装 Python 解释器,但可以简化解释器的配置和管理过程。如果你是学习者或编写小型项目,使用 PyCharm 的社区版或教育版是一个不错的选择。

    三、第一个python程序及数据类型

    3.1 第一个python程序

            在 Python 中,确实没有像 C/C++/Java 那样的 `main` 函数作为程序的明确入口点。Python 程序的执行是基于模块的,每个模块(文件)都可以独立执行,也可以作为模块被其他模块导入。

    ### Python 的执行机制
    1. **直接执行**:当你直接运行一个 Python 脚本时,Python 解释器会从文件的顶部开始逐行执行代码。
    2. **模块导入**:当你导入一个模块时,Python 解释器也会执行该模块中的代码,但有一些特殊处理。

    ### 缩进和代码块
            Python 使用缩进来定义代码块,这是 Python 语法的一个核心特点。没有缩进的代码(顶层代码)会在模块被导入或直接执行时自动执行。

    ### 模拟 `main` 函数
            为了模拟其他语言中的 `main` 函数,Python 程序员通常会使用以下模式:

    def main():
        print('Hello world')
    
    if __name__ == "__main__":
        main()

    ### 解释
    – `def main():` 定义了一个名为 `main` 的函数。
    – `if __name__ == "__main__":` 是一个条件语句,检查当前模块是否是直接运行的。
      – `__name__` 是一个特殊变量,当模块被直接运行时,其值为 `"__main__"`。
      – 当模块被导入时,`__name__` 的值为模块的名称。
    – `main()` 调用 `main` 函数。

    这种模式的好处是:
    – 保持代码结构清晰,便于维护。
    – 允许模块既可以独立运行,也可以作为库被其他模块导入而不执行不必要的代码。

    ### 示例
    以下是一个简单的 Python 脚本示例:

    print('This is a top-level statement and will always be executed.')
    
    def main():
        print('Hello world')
    
    if __name__ == "__main__":
        main()

    当你直接运行这个脚本时,输出会是:

    This is a top-level statement and will always be executed.
    Hello world

            而当你导入这个模块时,只有顶层语句会被执行,`main` 函数不会被调用。

            总结来说,Python 的执行机制确实与其他语言不同,但通过使用 `if __name__ == "__main__":` 模式,可以有效地模拟 `main` 函数的行为。

    3.2 python的数值类型

    Python 的数值类型主要包括以下几种:

    1. 整数

  • 描述:表示整数值,可以是正数、负数或零。

  • 示例1, 42, -7, 0

  • 特点:没有大小限制,可以非常大。

  • 2. 浮点数(float)

  • 描述:表示小数值,包括小数点和指数形式。

  • 示例3.14, -0.001, 2.0, 1.23e-4

  • 特点:精度有限,通常为双精度浮点数(64位)。

  • 3. 复数(complex)

  • 描述:表示复数值,包含实部和虚部。

  • 示例1 + 2j, 3.5 - 4.2j

  • 特点:虚部用 jJ 表示。

  • 3.3 python的字符串类型

            在 Python 中,字符和字符串类型都是通过 str 类型来表示的。Python 没有单独的字符类型,而是将单个字符也视为长度为 1 的字符串。以下是关于 Python 字符串类型的一些详细信息:

  • 单引号'Hello, World!'

  • 双引号"Hello, World!"

  • 三引号'''Hello, World!'''"""Hello, World!""",用于多行字符串。

  • 3.4 python中变量,关键字,标识符概念

            在 Python 中,变量、关键字和标识符是编程语言的基本组成部分,它们各自有不同的用途和规则。

    ### 变量(Variables)
            变量是用于存储数据的命名位置。在 Python 中,变量不需要声明类型,可以直接赋值。赋值操作使用 `=` 符号。

    – **示例**:

      x = 10
      name = "Alice"

    – **特点**:
      – 变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线。
      – 变量名区分大小写。
      – 变量在使用前必须赋值。

    ### 关键字(Keywords)
            关键字是 Python 语言预留的特殊标识符,具有特定的含义和用途。它们不能用作变量名、函数名或其他标识符。

    – **常见关键字**:
      – `if`, `else`, `elif`
      – `for`, `while`
      – `def`, `class`
      – `return`, `break`, `continue`
      – `True`, `False`, `None`
      – `import`, `from`, `as`
      – `try`, `except`, `finally`
      – `raise`, `assert`
      – `global`, `nonlocal`
      – `lambda`
      – `with`, `yield`

    – **特点**:
      – 关键字不能用作变量名或其他标识符。
      – 关键字在 Python 中具有特殊的语法意义。

    ### 标识符(Identifiers)
            标识符是用户定义的名称,用于标识变量、函数、类、模块或其他对象。标识符的命名规则如下:

    – **规则**:
      – 标识符必须以字母(A-Z 或 a-z)或下划线(_)开头。
      – 标识符可以包含字母、数字(0-9)和下划线。
      – 标识符区分大小写。
      – 标识符不能是关键字。

    – **示例**:

      my_variable = 10
      MyClass = "Class"
      _private_var = "Private"

    – **命名约定**:
      – 变量和函数名通常使用小写字母和下划线(snake_case)。
      – 类名通常使用大写字母开头的驼峰命名法(CamelCase)。
      – 常量通常使用大写字母和下划线(CAPITAL_SNAKE_CASE)。

    ### 示例代码

    #变量
    x = 10
    name = "Alice"
    
    # 关键字
    # if = 5  # 错误,if 是关键字
    
    # 标识符
    my_variable = 10
    MyClass = "Class"
    _private_var = "Private"
    
    print(x, name, my_variable, MyClass, _private_var)

    3.5 python的注释

            在 Python 中,注释是用于解释代码的文本,它们不会被 Python 解释器执行。注释是提高代码可读性和可维护性的重要工具。Python 支持两种类型的注释:单行注释和多行注释。

    单行注释

            单行注释以 # 符号开头,从 # 开始到该行末尾的所有内容都被视为注释。

    示例:

    # 这是一个单行注释
    x = 10  # 这也是一个单行注释,解释变量 x 的值

    多行注释

            多行注释通常使用三引号('''""")来实现。虽然 Python 没有专门的多行注释语法,但三引号字符串如果不在任何函数或类中,且不被赋值给变量,则会被解释器忽略,因此可以作为多行注释使用。

    示例:

    '''
    这是一个多行注释。
    可以跨越多行,解释更复杂的逻辑。
    '''
    x = 10
    
    """
    这也是一个多行注释。
    使用双引号的三引号字符串。
    """
    y = 20

    四、python的输入和输出

            在 Python 中,输入和输出是程序与用户或外部系统交互的基本方式。Python 提供了多种内置函数和方法来处理输入和输出。

    ### 输入(Input)
            Python 提供了 `input()` 函数来从用户那里获取输入。`input()` 函数会暂停程序并等待用户输入,用户输入的内容会被当作字符串返回。

    – **示例**:

      name = input("请输入你的名字: ")
      print("你好,", name)

    – **特点**:
      – `input()` 函数返回的字符串可以通过类型转换函数(如 `int()`, `float()`)转换为其他类型。
      – 提示信息可以作为参数传递给 `input()` 函数。

    ### 输出(Output)
    Python 提供了 `print()` 函数来输出信息到控制台。`print()` 函数可以输出字符串、数字、变量等。

    – **示例**:

      print("Hello, World!")
      x = 10
      print("变量 x 的值是:", x)

    – **特点**:
      – `print()` 函数可以接受多个参数,参数之间会自动用空格分隔。
      – `print()` 函数默认在输出结束后换行,可以使用 `end` 参数改变这一行为。
      – `print()` 函数可以使用格式化字符串(如 f-string、`str.format()`、`%` 操作符)来格式化输出。

    ### 格式化输出
            Python 提供了多种方式来格式化输出,使输出更加灵活和美观。

    – **f-string**:

      name = "Alice"
      age = 30
      print(f"我的名字是 {name},我今年 {age} 岁。")

    – **str.format()**:

      name = "Alice"
      age = 30
      print("我的名字是 {},我今年 {} 岁。".format(name, age))

    – **% 操作符**:

      name = "Alice"
      age = 30
      print("我的名字是 %s,我今年 %d 岁。" % (name, age))

    ### 示例代码

    # 输入
    name = input("请输入你的名字: ")
    age = int(input("请输入你的年龄: "))
    
    # 输出
    print("你好,", name)
    print("你今年", age, "岁。")
    
    # 格式化输出
    print(f"我的名字是 {name},我今年 {age} 岁。")
    print("我的名字是 {},我今年 {} 岁。".format(name, age))
    print("我的名字是 %s,我今年 %d 岁。" % (name, age))

    作者:攻城狮7号

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【第一节】初识python

    发表回复