Python 基础知识全面总结

Python 是一种广泛应用的编程语言,具有简洁、易读、功能强大等特点。本文将对 Python 的基础知识进行全面梳理,涵盖从入门必备知识到各类模块和编程概念等内容。

一、Python基础语法

(一)标识符

  • 定义:用于给变量、函数、类等命名。

  • 规则:由字母、数字和下划线组成,不能以数字开头,区分大小写。

  • 特殊标识符

    • 单下划线开头(如 _xxx):表示不能直接访问的类属性。

    • 双下划线开头(如 __xx):表示私有成员。

    • 双下划线开头和结尾(如 __init__):表示Python内置的特殊方法。

(二)关键字

  • 常用关键字

    • exec:执行字符串中的Python语句。

    • assert:测试条件,条件为假时抛出异常。

    • raise:抛出异常。

    • del:删除变量。

    • with:常用于文件操作。

    • lambda:匿名函数。

    • yield:使函数可以在循环中迭代。

(三)引号

  • 单引号(')双引号(")三引号('''或""")

    • 用于定义字符串。

    • 三引号可以包含多行文本。

(四)编码

  • Python 2:默认编码为ASCII,需手动指定编码(如UTF-8)。

  • Python 3:默认编码为UTF-8。


二、输入输出与数据类型

(一)输入输出

  • 缩进:用缩进来表示代码块,而不是{}

  • 输入输出:

  • 多行语句:用\将语句分多行,或使用括号[]、{}、()

  • 注释:单行注释用#,多行注释用三引号。

(二)数据类型

  • 整数:任意大小,包含负数。

  • 浮点数:小数。

  • 字符串:用单引号、双引号或三引号定义。

  • 布尔值TrueFalse

  • 空值:用None表示。

  • 变量:可变。

  • 常量:不可变。


三、运算符与基本语句

(一)运算符

  • 常用运算符:加(+)、减(-)、乘(*)、除(/)、取余(%)等。

  • 优先级:遵循数学运算规则(先乘除后加减)。

(二)基本语句

  • 条件语句

    • ifelifelse用于逻辑判断。

  • 循环语句

    • for循环:遍历序列(如字符串、列表)。

  • while循环:满足条件时重复执行。

  • break:终止循环。

  • continue:跳过当前循环。

  • pass:空语句,占位符。


四、数值类型与数学运算

(一)数值类型

  • 整型(int):正整数和负整数。

  • 浮点型(float):包含小数部分。

  • 复数(complex):由实数和虚数组成。

(二)数学运算

  • 基本运算:加、减、乘、除、乘方(**)等。

  • 数学模块math模块提供高级数学运算,如sqrt()sin()cos()等。

  • 随机函数:random。


五、字符串操作

(一)字符串定义

  • 使用单引号、双引号或三引号定义。

(二)基本操作

  • 访问字符:通过索引访问单个字符或切片访问范围内的字符。

  • 转义字符:使用反斜杠\

  • 格式化

    • 使用%格式化字符串(如"%s""%d")。

    • 使用format()方法(如"Hello {0}")。


六、序列、列表与元组

(一)序列

  • 定义:连续内存空间,按顺序排列。

  • 操作

    • 索引访问(正索引从0开始,负索引从-1开始)。

    • 切片操作(seq[start:end])。

    • 相加(+)和相乘(*)。

(二)列表

  • 特点:可变,可存储不同类型的数据。

  • 操作

    • 创建:[1, 2, 3]

    • 访问:通过索引或切片。

    • 更新:使用append()extend()等方法。

    • 删除:使用delremove()

(三)元组

  • 特点:不可变,常用于固定数据。

  • 操作

    • 创建:(1, 2, 3)

    • 访问:与列表类似。

    • 修改:需重新赋值。

    • 删除:只能删除整个元组。


七、字典与集合

(一)字典

  • 特点:键值对结构,键不可重复。

  • 操作

    • 创建:{"key": "value"}

    • 访问:通过键访问值。

    • 更新:直接覆盖键对应的值。

    • 删除:使用delpop()

(二)集合

  • 特点:无序,元素不可重复。

  • 操作

    • 创建:{1, 2, 3}set()

    • 添加:使用add()update()

    • 删除:使用remove()discard()

    • 清空:使用clear()


八、时间模块与日期处理

(一)time模块

  • 功能:提供时间相关的函数。

  • 常用方法

    • time.time():获取当前时间戳。

    • time.sleep():暂停程序执行。

(二)datetime模块

  • 功能:处理日期和时间。

  • 常用类

    • datetime.date:表示日期。

    • datetime.time:表示时间。

    • datetime.datetime:表示日期和时间。

  • 方法

    • datetime.now():获取当前日期和时间。

    • date.today():获取当前日期。

(三)calendar模块

  • 功能:生成日历。

  • 常用方法

    • calendar.month():生成某月的日历。

    • calendar.TextCalendar():生成文本日历。


九、函数与模块

(一)函数

  • 定义:使用def关键字。

  • 参数

    • 普通参数、默认参数、不定长参数(*args**kwargs)。

  • 匿名函数:使用lambda定义。

(二)模块

  • 定义.py文件。

  • 导入

    • import module

    • from module import function

  • 标准库:如mathrandomos等。

(三)包

  • 定义:文件夹,包含__init__.py(Python 3.3后可省略)。

  • 创建:在文件夹中放置模块文件。

  • 导入:使用import package.module


十、面向对象编程

(一)类与对象

  • :描述具有相同属性和方法的对象集合。

  • 对象:类的实例。

  • 定义:使用class关键字。

  • 构造方法__init__(),在实例化时自动调用。

(二)封装

  • 私有属性:在属性名前加__,外部无法直接访问。

  • 访问:通过类方法访问私有属性。

(三)继承

  • 单继承与多继承:子类继承父类的属性和方法。

  • 重写:子类可以覆盖父类的方法。

(四)多态

  • 定义:父类引用可以指向子类对象。

  • 优势:提高程序的扩展性和灵活性。


十一、文件操作

(一)打开文件

  • 使用open()函数:

    • 参数:文件路径、模式(rwa等)。

    • 示例:open("file.txt", "r")

(二)读写文件

  • 读取read()readline()readlines()

  • 写入write()writelines()

  • 关闭:使用close()with语句自动关闭。

(三)文件定位

  • 使用seek()tell()方法。


十二、异常处理

(一)异常类型

  • 常见异常SyntaxErrorValueErrorIOError等。

  • 基类BaseExceptionException

(二)异常处理

  • try-except:捕获并处理异常。

    • 示例:

      Python复制

      try:# 可能引发异常的代码
      except Exception as e:print(e)
  • else:无异常时执行。

  • finally:无论是否异常,都会执行。

(三)抛出异常

  • 使用raise关键字抛出自定义异常。


十三、迭代器与生成器

(一)迭代器

  • 定义:具有__iter__()__next__()方法的对象。

  • 作用:可以记住遍历的位置。

(二)生成器

  • 定义:使用yield关键字的函数。

  • 特点:按需生成值,节省内存。


十四、装饰器

(一)闭包

  • 定义:引用了自由变量的函数。

  • 特点:可以保留外部变量的状态。

(二)装饰器

  • 功能:在不修改函数代码的情况下,增加函数功能。

  • 使用:通过@decorator语法。


十五、其他重要模块

(一)os模块

  • 功能:操作文件和目录。

  • 常用方法

    • os.getcwd():获取当前路径。

    • os.listdir():列出目录内容。

    • os.mkdir():创建目录。

(二)sys模块

  • 功能:与Python解释器交互。

  • 常用属性

    • sys.argv:命令行参数。

    • sys.version:Python版本信息。

(三)random模块

  • 功能:生成随机数。

  • 常用方法

    • random.random():生成[0, 1)范围内的随机浮点数。

    • random.randint(a, b):生成[a, b]范围内的随机整数。

(四)argparse模块

  • 功能:处理命令行参数。

  • 特点:自动生成帮助信息。

(五)正则表达式

  • 模块re

  • 功能:强大的字符串处理工具。

  • 常用方法

    • re.search():搜索匹配项。

    • re.findall():查找所有匹配项。

    • re.sub():替换字符串。


十六、总结

Python的基础知识涵盖了从语法到高级特性的方方面面。无论是标识符、关键字、数据类型,还是面向对象、异常处理、模块与包,每一个知识点都是构建Python程序的基石。希望这份总结能帮助你更好地掌握Python的核心概念,提升编程能力。如果你对某个部分还有疑问,欢迎留言交流!


👏觉得文章对自己有用的宝子可以收藏文章并给小编点个赞!

👏想了解更多统计学、数据分析、数据开发、数据治理、机器学习算法、深度学习等有关知识的宝子们,可以关注小编,希望以后我们一起成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26262.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

7.1.1 计算机网络的组成

文章目录 物理组成功能组成工作方式完整导图 物理组成 计算机网络是将分布在不同地域的计算机组织成系统,便于相互之间资源共享、传递信息。 计算机网络的物理组成包括硬件和软件。硬件中包含主机、前端处理器、连接设备、通信线路。软件中包含协议和应用软件。 功…

领域驱动设计:事件溯源架构简介

概述 事件溯源架构通常由3种应用设计模式组成,分别是:事件驱动(Event Driven),事件溯源(Event Source)、CQRS(读写分离)。这三种应用设计模式常见于领域驱动设计(DDD)中,但它们本身是一种应用设计的思想,不仅仅局限于DDD,每一种模式都可以单独拿出来使用。 E…

【AD】3-10 原理图PDF导出

文件—智能PDF 多页原理图导出 导出设置时选择工程,可自行选择导出一页或多页原理图,一般PCB不用导出

半导体制造工艺(二)光刻工艺—掩模版

在上文中我们已经简单概述了光刻工艺的大致流程。接下来将会介绍在光刻工艺中所需用到的必备材料以及设备。例如掩模版、光刻胶、匀胶机、光刻机等等。由于需要保持讲述工艺的完整性以及流畅,每一个都需要涉及,所以每次仅是侧重点不同。此篇主要讲述的是…

ubuntu服务器安装VASP.6.4.3

ubuntu服务器安装VASP.6.4.3 1 安装Intel OneAPI Base Toolkit和Intel OneAPI HPC Toolkit1.1 更新并安装环境变量1.2 下载Intel OneAPI Base Toolkit和Intel OneAPI HPC Toolkit安装包1.3 安装 Intel OneAPI Base Toolkit1.4 安装 Intel OneAPI HPC Toolkit1.5 添加并激活环境…

Autosar RTE配置-Port Update配置及使用-基于ETAS工具

文章目录 前言Autosar Rte中enableUpdate参数定义ETAS工具中的配置生成代码分析总结前言 在E2E校验中,需要对Counter进行自增,但每个报文周期不一样,导致自增的周期不一样。且Counter应该在收到报文之后才进行自增。基于这些需求,本文介绍使用RTE Port中的参数enableUpdat…

文字滚动效果组件和按钮组件

今天和大家分享一个vue中好用的组件,是我自己写的,大家也可以自己改,就是文字的循环滚动效果,如下图,文字会向左移动,结束之后也会有一个循环,还有一个按钮组件,基本框架写的差不多了…

VMWare虚拟机Ubuntu Desktop怎么共享文件夹

1、虚拟机设置 在菜单"管理"里面找到"虚拟机设置"菜单,然后从"硬件"切换到"选项",点到"共享文件夹",然后在右侧选中"总是启用",然后添加一个共享文件夹。 2、在我的…

JAVA安全—手搓内存马

前言 最近在学这个内存马,就做一个记录,说实话这个内存马还是有点难度的。 什么是内存马 首先什么是内存马呢,顾名思义就是把木马打进内存中。传统的webshell一旦把文件删除就断开连接了,而Java内存马则不同,它将恶…

python力扣2:两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开…

CAN硬件协议详解

一、基本理论: 1、CAN的总线结构: CAN总线 网络结构 有 闭环和开环 两种形式;无论实际的网络多复杂,都离不开这两种基本结构。 闭环结构的CAN总线网络,总线的两端各并联一个120Ω的电阻,两…

解决局域网访问Dify却仅显示nginx页面的问题

为什么dify在本机可以正常访问,局域网通过ip访问却只看到欢迎使用nginx的提示,如果访问服务器ip/apps则直接提示404 Not Found。这是怎么回事该如何解决呢?文章中将一步步解决这些问题。 前言 之前在服务器部署了dify,也在服务器…

【前端】——设置菜单的未读状态

用户会接收消息,接收到消息后,需要把待完成的菜单状态改成未读(加上小红点提示) 例如菜单目录是这样的,需要完成的内容在页面 /test1 里面,但是不光是需要把子菜单 /test1 标记为未完成,其父菜单…

Linux-ftrace-双nop机制的实现

Linux 内核调试工具ftrace 之(NOP动态插桩的实现原理) ftrace 是 Linux 内核中的一种跟踪工具,主要用于性能分析、调试和内核代码的执行跟踪。它通过在内核代码的关键点插入探针(probe)来记录函数调用和执行信息。这对…

火山引擎 DeepSeek R1 API 使用小白教程

一、火山引擎 DeepSeek R1 API 申请 首先需要三个要素: 1)API Key 2)API 地址 3)模型ID 1、首先打开火山引擎的 DeepSeek R1 模型页面 地址:账号登录-火山引擎 2、在页面右下角,找到【推理】按钮&#…

在 Element Plus 的 <el-select> 组件中,如果需要将 <el-option> 的默认值设置为 null。 用于枚举传值

文章目录 引言轻松实现 `<el-option>` 的默认值为 `null`I 实现方式监听清空事件 【推荐】使用 v-model 绑定 null添加一个值为 null 的选项处理 null 值的显示引言 背景:接口签名规则要求空串参与,空对象不参与签名计算 // 空字符串“” 参与签名组串,null不参与签…

商业秘密维权有哪些成本开支?

企业商业秘密百问百答之六十三&#xff1a;商业秘密维权费用项目有哪些&#xff1f; 在商业秘密维权过程中&#xff0c;原告可能需要支付多种费用&#xff0c;一般费用项目包括&#xff1a; 1、诉讼费。诉讼费是向法院支付的费用&#xff0c;包括起诉费、案件受理费等。这些费…

StarRocks 在爱奇艺大数据场景的实践

作者&#xff1a;林豪&#xff0c;爱奇艺大数据 OLAP 服务负责人 小编导读&#xff1a; 本文整理自爱奇艺工程师在 StarRocks 年度峰会的分享&#xff0c;介绍了爱奇艺 OLAP 引擎演化及引入 StarRocks 后的效果。 在广告业务中&#xff0c;StarRocks 替换 ImpalaKudu 后&#x…

sql:order by盲注渗透练习

sql-labs靶场46关&#xff1a;order by注入 测试前注意打开小皮面板&#xff0c;打开apache和MySQL服务 http://127.0.0.1:8080/sqli-labs/ 注意端口不要写错 利用orderby注入技术进行排序操作&#xff0c;进而实现报错注入和盲注&#xff0c;最终通过Python脚本自动化提取…

我的世界开发模组的心得体会

最头疼的问题 本人也是小白&#xff0c;也就跟着ai学学怎么开发模组&#xff0c;不会的上网搜搜&#xff0c;但是目前最令我头疼的就是运行rundata和runcilent时的模块冲突&#xff0c;解决办法就是使用以下的build.gradle代码&#xff0c;不要接受人工智能的建议&#xff0c;…