【第一节】初识python

目录

一、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. 打印语句

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

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

  2. 整数除法

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

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

  3. Unicode 字符串

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

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

  4. 异常处理

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

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

  5. 迭代器

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

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

2.2.2 标准库差异

  1. 模块重命名

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

  2. 移除的模块

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

2.2.3 功能差异

  1. 类型提示

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

  2. 矩阵乘法运算符

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

  3. 异步编程

    • 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. 安装 PyCharm

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

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

  3. 配置 Python 解释器

    • 安装完成后,打开 PyCharm。

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

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

2.3.3 自动环境搭建

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

  1. 打开 PyCharm

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

  2. 配置 Python 解释器

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

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

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

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

  3. 完成配置

    • 配置完成后,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))
  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值