百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

python学习教程-第三节内容

itomcoil 2025-08-03 05:28 7 浏览

python命令

1、python -m py_compile cat_mouse_game.py

基本概念

将 cat_mouse_game.py 文件编译为字节码文件。Python 解释器在执行 Python 脚本时,会先将源代码编译为字节码(.pyc 文件),然后再执行字节码。使用 py_compile 模块可以提前将源代码编译为字节码,这样在后续运行脚本时可以节省编译时间

常见用途

1、语法检查:编译过程中会检查 Python 代码的语法错误。如果代码存在语法错误,编译过程会失败并输出错误信息,帮助开发者提前发现问题。

2、加速脚本启动:对于大型 Python 项目,提前编译字节码可以减少每次运行脚本时的编译时间,加快脚本的启动速度。

2、pip install -r requirements.txt

基本概念

这个命令是 Python 项目管理中的重要工具,它让项目的依赖管理变得简单和可重复,是现代 Python 开发的标准做法

-r:这是一个选项标志,告诉 pip 从指定文件中读取要安装的包列表

requirements.txt:这是一个文本文件,包含了项目所需的所有依赖包及其版本信息。

requirements.txt 文件示例

版本指定方式

1、精确版本

2、最小版本

3、版本范围

4、兼容版本

5、不指定版本

创建 requirements.txt 文件

方法一:手动创建

直接创建文本文件,手动添加依赖包

方法二:自动生成

使用 pip freeze 命令生成当前环境的所有包。

pip freeze > requirements.txt

方法三:只导出项目相关包

使用 pipreqs 工具(需要先安装)

pip install pipreqs

pipreqs /path/to/project

使用场景

1、项目部署

2、团队协作

3、虚拟环境设置

最佳实践

1、版本锁定

为生产环境使用精确版本号,确保部署一致性:

2、分层管理

3、添加注释

4、定期更新

3、python script.py

执行python文件

# 指定完整路径

python /path/to/your/script.py

# Windows

python C:\Users\username\Documents\script.py

4、传递命令行参数

python script.py arg1 arg2 arg3

5、执行python代码字符串

python -c "print('Hello,World!')"

-c

6、执行python模块

-m

基本概念

-m 表示 "module",用于将 Python 模块作为脚本运行

语法

python -m module_name [arguments]

核心作用

1、将模块当作脚本执行

2、自动处理模块路径和导入

3、确保模块在正确的 Python 路径中运行

文档字符串

基本概念

1、文档字符串(Docstring)是 Python 中用于解释包、模块、类、函数或方法用途的字符串,它是 Python 官方推荐的代码文档方式。

2、位置:作为第一个语句出现在包/模块/类/函数的开头

3、格式:用三引号 (""" 或 ''') 包裹的多行字符串

4、访问:通过 __doc__ 属性或 help() 函数查看

5、作用:解释代码功能、使用方法等.

文档字符串 vs 普通注释

模块文档字符串

基本格式

示例

推荐内容

1、模块目的:一句话说明模块用途

2、功能列表:主要提供的功能

3、重要类/函数:核心API的简要说明

4、使用示例:基本用法示例

5、作者/版本:可选(大型项目)

包文档字符串

位置

包文档字符串放在包目录下的 __init__.py 文件开头

示例

推荐内容

1、包概述:包的总体功能和定位

2、子模块说明:主要子模块及其功能

3、安装要求:依赖项和安装说明

4、快速入门:简单使用示例

5、项目信息:版本、作者等(可选)

查看文档字符串的方法

1、交换式查看

print(math_utils.__doc__)

2、生成html文档

最佳实践

1、所有公共模块/包都应包含文档字符串:即使很简短

2、保持更新:代码变更时同步更新文档

3、遵循项目统一风格:团队内保持风格一致

4、包含示例:特别是复杂的功能

5、避免过度文档:简单函数可以只用一行描述

6、类型注解补充:Python 3+ 可使用类型注解增强文档。

记住:代码只写一次,但会被多次阅读。优秀的文档可以显著降低项目的长期维护成本。

基础语法

基本说明

1、Python程序是大小写敏感的如果写错了大小写,程序会报错

2、Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进。

3、在文本编辑器中,需要设置把Tab自动转换为4个空格确保不混用Tab和空格。

4、Python 是强类型语言,因为它在运行时会对变量类型进行严格检查,不允许隐式的类型转换。

编码

默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode字符串

标识符

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

保留字

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

注释

单行注释

Python中单行注释以#开头,示例如下:

多行注释

多行注释可以用多个#号,还有 ''' 和 """:

行与缩进

python最具特色的就是使用缩进来表示代码块不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数

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

import 与 from...import

基本概念

在 Python 中,import 语法用于引入模块或包,使你能够使用其他文件中定义的函数、类和变量。它是 Python 中组织和重用代码的关键机制之一。

基本语法

引入整个模块

import module_name

使用这种方式,你需要通过 module_name. 来访问模块中的属性和方法。例如:

引入模块中的特定对象

from module_name import object_name

这种方式允许你直接使用 object_name,而无需使用 module_name. 前缀。例如:

给模块或者对象起别名

这种方式使得代码更简洁,尤其是当模块名或对象名较长时。例如:

变量

基本概念

变量是程序中用于存储数据的命名标识符(名字),可以将变量理解为一个标签,它指向内存中某个存储数据的位置

核心特性

1、变量无需声明类型

(1)Python 是动态类型语言变量无需提前声明类型,直接赋值即可

(2)变量的类型由赋值的数据决定(类型是对象的属性,而非变量本身)。

2、变量是对象的引用

(1)Python 中,变量实际上是指向对象的引用(类似指针)

(2)对象(数据)存储在内存中,变量只是对象的“标签”。

3、变量可重新赋值

(1)同一个变量可以随时指向不同类型的对象

命名规则

1、合法字符:字母(a-z, A-Z)、数字(0-9)、下划线(_)。

2、变量名不能以数字开头

3、变量名区分大小写

4、不能使用 Python 关键字(保留字)

命名约定

1、变量名推荐使用小写字母 + 下划线(snake_case)

2、常量名推荐使用全大写 + 下划线

3、避免使用单个字符(除非是临时变量)

4、避免使用模糊的变量名

变量命名的最佳实践

1、见名知意

变量名应清晰表达其用途,如 student_name 比 sn 更好。

2、避免混淆

不要使用 l(小写 L)、O(大写 O)、I(大写 i)等容易与数字混淆的字母。

3、保持一致性

如果项目使用 snake_case,就统一使用,不要混用 camelCase。

4、避免使用 Python 内置函数名

如 list, str, dict 等,虽然合法,但会覆盖原有功能:

关键字

pass

基本概念

在 Python 中,pass 是一个特殊的关键字,它表示 “什么都不做”,是一个空操作(null operation)。它的主要作用是作为语法占位符,确保代码结构完整,尤其是在需要语句但暂时不想或不能写具体逻辑的地方。

作用

1、保持代码结构完整

Python 的语法要求某些代码块(如 if、for、while、def、class 等)不能为空,否则会报错。但有时你可能暂时不想写具体逻辑,这时可以用 pass 占位:

如果没有 pass,直接留空会报错

2、用于未完成的函数或类

在定义函数或类时,如果还没想好具体实现,可以用 pass 避免语法错误

常见使用场景

1、占位,防止语法错误

2、标记待完成的功能(TODO)

3、在异常处理中忽略错误

4、定义抽象基类(Abstract Base Class)

pass vs ...(Ellipsis)

Python 还有一个 ...(Ellipsis)对象,也可以用于占位,但它的主要用途不同:

pass:语法占位,表示“什么都不做”。

...:特殊对象,常用于 NumPy 切片或类型提示(Type Hints)。

注意事项

1、pass 不会执行任何操作,仅仅是占位符

2、不要滥用 pass,长期保留 pass 可能导致代码逻辑不清晰。

3、在正式代码中,尽量用具体实现替换 pass。

global

基本概念

global 关键字在 Python 中用于声明一个变量是全局变量,即在函数内部可以访问和修改全局作用域中的变量。

作用

1、声明全局变量

在函数内部使用 global 声明变量后,可以在函数内访问和修改该全局变量

2、避免创建局部变量

防止在函数内部意外创建同名局部变量

使用场景

1、在函数内修改全局变量

如果不使用global关键字

2、在函数内创建全局变量

注意事项

1、全局变量应谨慎使用

过多使用全局变量会使代码难以维护和理解。

2、变量查找顺序

Python 查找变量的顺序是 LEGB (Local → Enclosing → Global → Built-in)

3、在嵌套函数中的使用

在嵌套函数中,global 只能引用模块级别的全局变量,不能引用外部函数的变量。

最佳实践

1、尽量避免使用全局变量,考虑使用返回值或类来管理状态

2、如果必须使用全局变量,应在模块顶部明确定义,并使用大写字母命名以区分。

3、在函数中修改全局变量前,始终使用 global 声明

nonlocal

基本概念

用于在嵌套函数中修改外层函数的局部变量

核心作用

1、让内层函数可以修改(而不仅仅是访问)外层函数的变量。

2、告诉Python这个变量不是当前函数的局部变量,而是来自外层作用域

示例

不用nonlocal的话:

总结

nonlocal让内层函数能够"写入"外层函数的变量,而不是创建同名的新变量。

self

基本概念

在 Python 中,self 代表类的当前实例对象用于访问该实例自身的属性和方法。

核心作用

1、访问实例属性

在类的方法内部,通过 self.属性名访问或修改当前实例独有的数据

2、调用实例方法

通过 self.方法名()调用同一个类的其他方法。

3、自动传递实例对象

当通过实例调用方法时(如 obj.method()),Python 自动将 obj 作为第一个参数 self 传入。

总结

1、self 不是关键字:可改用其他名称(如 this),但强烈建议遵守约定使用 self。

2、强制存在:实例方法的第一个参数必须是代表实例的对象(通常命名为 self)

3、区分实例与类:通过 self 操作的是实例自身的数据而非类的全局数据

4、通过 self,Python 实现了面向对象中 "对象自治" 的核心机制:每个实例独立管理自身状态。

raise

基本概念

raise关键字用于主动抛出异常,是Python异常处理机制的重要组成部分。

基本语法

1、抛出指定异常

2、重新抛出当前异常

3、抛出异常实例

详细用法示例

1、基本异常抛出

2、参数验证

3、业务逻辑异常

使用建议

1、选择合适的异常类型

ValueError: 值的问题

TypeError: 类型问题

AttributeError: 属性问题

KeyError: 字典键问题

IndexError: 索引问题

2、提供清晰的错误信息

3、在适当的地方使用raise

1、输入验证失败时

2、前置条件不满足时

3、业务规则违反时

4、系统状态异常时

相关推荐

python学习教程-第七节内容

函数(重点)基本概念Python函数的语法是编程中的核心概念之一,它允许你将代码块封装为可重复调用的单元。基本语法定义函数:示例参数类型位置参数(PositionalArguments)按参数定义...

Python排序90%人只会用sorted()?这7个高阶技巧让你代码效率翻倍

高效处理数据的关键,往往从掌握排序开始。排序操作在Python编程中的重要性常被低估——直到你面对一个杂乱无章的数据集。作为数据处理的核心操作之一,排序效率直接决定了程序性能和代码可读性。无论你正在清...

第四章:Python函数

4.1函数的定义与调用4.1.1理论知识函数是组织好的、可重复使用的代码块,用于执行特定的任务。它可以提高代码的复用性和可维护性。在Python中,定义函数使用def关键字,其基本语法如下:def...

ArcGIS 一个独立运行的Python程序编写和打包

写代码#coding=utf8#-*-coding:UTF-8-*-importarcpyfromarcpyimportenvimportosimportsys##########...

python入门到脱坑经典案例—计算三角形的面积

下面为大家详细讲解如何用Python计算三角形面积。我们会从最基础的数学公式开始,逐步深入编程实现,并涵盖多个实用版本。以下是完整的教学指南:1.数学原理回顾三角形面积公式:面积=(底边长度...

Python运算技巧:10种计算列表平方的高效方法

1.使用for循环此方法遍历列表中的每个数字,使用**运算符计算其平方,然后将结果添加到新的列表中。2.使用列表推导式此方法使用列表推导式,这是一种更简洁的方式,可以在现有列表的每个项目上执行操作...

墙裂推荐,5个学习Python编程最佳的开源库

学习Python少不了的就是项目,我在GitHUB上找了几个比较好的开源库,大家可以跟着去学习。1、learn-python3这个存储库一共有19本Jupyter笔记本。它涵盖了字符串和条件之类的基础...

使用Python玩转ftplib库:实现ftp文件传输自动化全攻略

大家好!在日常工作中都会使用到ftp功能,用于上传和下载文件等,本章主要介绍Python的标准库ftplib来实现FTP文件传输,帮助我们实现ftp自动化。一、ftplib库核心函数速查表1连接与登...

Python零基础入门学习23:常用第三方库之图像处理库Pillow

注:本文所有代码均经过Python3.7实际运行检验,保证其严谨性。本文约2000字,阅读时间约为4分钟。Pillow库的概述Pillow库是Python最好的图像处理库,可能是使用频率最高的图像处...

Python编程之BeautifulSoup库

#头条创作挑战赛#BeautifulSoup是一个可以从HTML或XML文件中快速提取数据的Python库。它能够通过转从入门到精通Python网络爬虫框架Scrapy38换器实...

Python3 新一代Http请求库Httpx使用(详情版)

我们经常使用Python语言的朋友们都清楚,requests是使用率非常高的HTTP库,甚至更早Python2中使用的是urllib、urllib2,也给我们提供了许多方便的功能。但是自从...

小白也可以玩的Python爬虫库,收藏一下

最近,微软开源了一个项目叫「playwright-python」,作为一个兴起项目,出现后受到了大家热烈的欢迎,那它到底是什么样的存在呢?今天为你介绍一下这个传说中的小白神器。Playwright是...

apscheduler,一个超厉害的 Python 库!

大家好,今天为大家分享一个超厉害的Python库-apscheduler。Github地址:https://github.com/agronholm/apschedulerAPSchedule...

给3D Slicer添加Python第三方插件库

对临床医生或医学影像算法研究人员来说,3DSlicer是不错的临床实践或科研工具。随着人工智能和深度学习技术的普及,python已经作为原型开发和验证的计算机编程语言。3DSlicer自带pyt...

Paramiko:一个非常实用的Python库

前言Python的Paramiko库,它是一个用于实现SSHv2协议的客户端和服务器的库。通过使用Paramiko,我们可以在Python程序中轻松地实现远程服务器的管理、文件传输等功能。特别做智能硬...