Python 的前置了解
Python 的工作流程和解释器
- Python 是一种解释型语言,这意味着在执行代码时,Python 的解释器会逐行读取并执行代码,而不需要先编译成机器语言。(坦白的说,虽然便于执行,但运行效率等方面来说 emm 个人感觉不如 c 舒服)
- Python 使用的主要解释器是 CPython,它是用 C 语言实现的。CPython 解释器包括一个编译器和一个虚拟机,编译器将源代码转换成字节码,然后虚拟机会执行这些字节码。这样的处理方式使得 Python 在易用性和跨平台性方面具有优势,但相对于编译型语言,执行效率可能较低。
Python 的基本特性
- 简洁的语法:Python 语法相对简洁,注意点少,易于阅读和学习。但是库真的嘎嘎多,如果有时间深入的学习,好比是冰山下的 90% 浮上水面。
- 动态类型:Python 是动态类型语言,变量在声明时不必显式指定数据类型。这使得在 Python 中,对变量的使用有更大的自由度。自由一定好吗(有些时候是
- 广泛的标准库:Python 拥有庞大的标准库,覆盖从网络编程到文本处理的各种模块。虽然没有无所不能这么夸张,但是覆盖面真的广啊。
函数与作用域
函数
函数指的是将一些操作抽象成一个封装的指令,看不见内部的具体操作了。比如高中中的数学:f (x)=x^2+3x+2,让复杂的式子有一个简单的表示方式 'f (x)'。通过利用函数,可以让操作复用变得简单,让程序运行结构清晰,而不是一坨操作堆在一起。 Python 中的函数定义使用 def 关键字(关键字是具有特殊功能的词)。函数可以接受参数(输入),并可返回结果(输出)。并且支持默认参数、关键字参数等一些高级功能。
作用域
作用域是对变量的限制,限制了变量可以存在与使用的范围,好比于 f (x) 的自变量 x。
Python 有两种主要的作用域:
- 全局作用域。模块级别定义的变量(如创建的对象、全局声明的变量)具有全局作用域。也就是在整个程序运行中生效
- 局部作用域。函数内定义的变量具有局部作用域,函数结束后大多数情况会被销毁。也就是只在单独的一个函数中生效
面向对象编程(OOP)
什么是对象?
很显然不是你想的 “npy”,这里祝每位读者的爱情都可以圆满。(( 偏应用来说,我们可以创建一种类 (型),我们可以赋予这个类各种功能函数。粗糙的说,创建一个特殊的函数,这个函数里面有很多别的函数。 许多语言都有面向对象编程的能力,Python 也不例外。所谓面向对象,简单来说可以理解为把一个个对象作为程序的基本单元,在对象中定义各种操作。
Python 中的对象
而这种能力,在 Python 中尤其突出。在 Python 中,一切都是对象,包括基本数据类型。当然也可以自己定义类(class)来创建自己的对象类型,并在其中封装数据和功能。Python 中的类支持继承、封装和多态,这使得复用代码和组织复杂程序变得简单。
Python 的环境依赖
环境依赖指的是 Python 项目运行所必需的外部库和模块,咱们吃饭要有各种餐具,体面的食用各种类型的食物,对 python 来说,环境依赖就是餐具,是 python 实现吃这一行为所需要的媒介。这些依赖定义了项目需要哪些外部输入(如代码库或工具)以正常运行。
环境依赖的重要性
- 兼容性保障:确保项目可以在预定的环境或平台上运行,不受不同版本依赖库更新的影响。
- 安全性:定期更新依赖库可以修补潜在的安全漏洞,增强项目的安全性。
- 可维护性:清晰的依赖管理可以简化项目的后期维护,尤其是在团队协作和项目转交时。
管理 Python 环境依赖的工具
- Pip (不建议直接使用):Python 的包安装器,可以从 Python 包索引 (PyPI) 安装、升级和移除包。
- Pipenv:将 Pip 和 venv(虚拟环境)的功能集于一身,用于创建虚拟环境和管理项目依赖。它自动管理虚拟环境和依赖文件,提供了一种更高级的依赖管理方式。
- Poetry:一个用于 Python 包和依赖管理的工具,它提供了依赖解析、包管理和虚拟环境的完整解决方案。Poetry 的设计目标是简化包的发布流程,同时保证项目依赖的严格管理。
虚拟环境
虚拟环境是什么?
在 Python 中,虚拟环境是一个独立的目录结构,其中包含了一个 Python 解释器的副本以及一系列安装的库。虚拟环境可以让不同的项目在各自独立的环境中运行,而不会相互干扰。这意味着每个项目都可以有自己的依赖版本,不受其他项目或系统级安装的影响。
为什么虚拟环境很重要?
- 依赖管理:项目依赖的库可能会随着时间更新版本,新版本的库可能不再向后兼容。使用虚拟环境可以锁定特定版本的库,确保项目的稳定性。
- 环境隔离:在没有虚拟环境的情况下,所有项目共享同一个 Python 解释器和库集合。这可能会导致依赖冲突,比如两个项目依赖同一个库但需要不同版本。虚拟环境通过为每个项目创建独立的运行环境,避免了这种冲突。
- 项目迁移和部署:虚拟环境可以轻松地复制和迁移,这对于确保在不同开发、测试和生产环境中的一致性非常重要。此外,它也简化了部署过程,因为你可以确保所有必要的依赖都会被正确安装。
使用虚拟环境
Python 有多种工具可以创建和管理虚拟环境,最常用的是 venv。