当前位置: 首页 > news >正文

Python基础知识点--总结

1. 注释

注释用于提高代码的可读性,在代码中添加说明文字,使代码更容易理解。

  • 单行注释:使用 # 符号开头,注释内容在符号之后的行内。
  • 多行注释:使用三引号('''""")包裹注释内容,可跨多行。

# 这是一个单行注释
"""
这是一个多行注释
可以跨越多行
"""

2. 变量

变量是存储数据的容器,可以通过赋值操作将数据存储在变量中。

  • 命名规则
    • 变量名由字母、数字和下划线组成,不能以数字开头。
    • 变量名对大小写敏感。
    • 使用有意义的变量名有助于代码的可读性。

age = 25
name = "Alice"

3. 输出

输出是将数据展示给用户或其他程序的过程,Python使用 print() 函数来输出内容。

print("Hello, World!")
print("Age:", age)

4. 输入

输入是从用户或其他程序获取数据的过程,Python使用 input() 函数来获取用户输入的数据。

name = input("Enter your name: ")
print("Hello, " + name)

5. 转换数据类型

Python支持多种数据类型,可以通过类型转换函数将一种数据类型转换为另一种。

  • 常见的类型转换函数:
    • int():将数据转换为整数类型
    • float():将数据转换为浮点数类型
    • str():将数据转换为字符串类型

age = int(input("Enter your age: "))
height = float(input("Enter your height: "))

6. 运算符

运算符用于对变量或值执行操作。

  • 算术运算符+, -, *, /, //, %, **
  • 比较运算符==, !=, >, <, >=, <=
  • 逻辑运算符and, or, not
  • 赋值运算符=, +=, -=, *=, /=, %=
  • 位运算符&, |, ^, ~, <<, >>
result = 3 + 5
is_equal = (3 == 5)

7. 条件语句

条件语句根据条件是否为真来决定执行的代码块,使用 ifelifelse 关键字。

age = 18
if age >= 18:
    print("You are an adult.")
else:
    print("You are a minor.")

8. 循环

循环用于重复执行一段代码。

  • for 循环:用于遍历序列(如列表、字符串)中的每个元素。
  • while 循环:在条件为真时重复执行代码块。

# for循环
for i in range(5):
    print(i)

# while循环
count = 0
while count < 5:
    print(count)
    count += 1

9. 字符串

字符串是字符的序列,使用单引号或双引号定义。

  • 常用操作:
    • 连接字符串:+
    • 重复字符串:*
    • 访问字符:[]
    • 切片:[:]
greeting = "Hello"
name = "Alice"
full_greeting = greeting + " " + name
print(full_greeting)

10. 列表

列表是一个有序的可变集合,使用方括号定义,可以包含不同类型的元素。

  • 常用操作:
    • 添加元素:append()
    • 删除元素:remove(), pop()
    • 访问元素:[]
    • 切片:[:]

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits[1])  # 输出: banana

11. 元组

元组是一个有序的不可变集合,使用圆括号定义。

  • 常用操作:
    • 访问元素:[]
    • 解包:将元组中的元素赋值给变量
point = (10, 20)
x, y = point
print(x, y)  # 输出: 10 20

12. 字典

字典是一个无序的键值对集合,使用大括号定义,键和值通过冒号 : 分隔。

  • 常用操作:
    • 添加或更新键值对:dict[key] = value
    • 删除键值对:del dict[key]
    • 访问值:dict[key]
person = {"name": "Alice", "age": 25}
person["age"] = 26
print(person["name"])  # 输出: Alice

13. 集合

集合是一个无序的不重复元素集合,使用大括号定义。

  • 常用操作:
    • 添加元素:add()
    • 删除元素:remove(), discard()
    • 集合运算:交集、并集、差集
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
print(fruits)

14. 公共操作

公共操作包括序列和集合类型的常见操作。

  • 长度len() 返回序列或集合的元素个数。
  • 最大值/最小值max()min() 返回序列中的最大和最小值。
  • 排序sorted() 返回排序后的序列。
  • 枚举enumerate() 返回枚举对象,通常在 for 循环中使用。
numbers = [3, 1, 4, 1, 5]
print(len(numbers))  # 输出: 5
print(max(numbers))  # 输出: 5
print(sorted(numbers))  # 输出: [1, 1, 3, 4, 5]

15. 推导式

推导式是一种简洁的创建序列或集合的方式。

  • 列表推导式:用于创建列表。
  • 字典推导式:用于创建字典。
  • 集合推导式:用于创建集合。
# 列表推导式
squares = [x**2 for x in range(5)]
print(squares)  # 输出: [0, 1, 4, 9, 16]

16. 函数一

函数是执行特定任务的代码块,使用 def 关键字定义。

  • 定义函数:通过 def 关键字定义函数。
  • 参数和返回值:函数可以接收参数并返回值。
def greet(name):return "Hello, " + nameprint(greet("Alice"))

17. 函数二

函数的高级特性包括默认参数、关键字参数和可变长度参数。

  • 默认参数:为参数提供默认值。
  • 关键字参数:通过参数名传递参数。
  • 可变长度参数:使用 *args**kwargs 接受任意数量的位置参数和关键字参数。
def greet(name, greeting="Hello"):return greeting + ", " + nameprint(greet("Alice"))
print(greet("Alice", "Hi"))

18. 函数三

函数的进阶特性包括匿名函数和闭包。

  • 匿名函数:使用 lambda 关键字定义匿名函数。
  • 闭包:内部函数可以访问外部函数的变量。
# 匿名函数
square = lambda x: x**2
print(square(4))  # 输出: 16# 闭包
def outer_func(msg):def inner_func():print(msg)return inner_funchello_func = outer_func("Hello")
hello_func()  # 输出: Hello

19. 文件操作

Python提供了多种方式来处理文件操作,如读取和写入文件。

  • 打开文件open() 函数用于打开文件。
  • 读取文件read() 读取整个文件,readline() 读取一行,readlines() 读取所有行。
  • 写入文件write() 将数据写入文件。
  • 关闭文件close() 关闭文件。
with open("example.txt", "w") as file:file.write("Hello, World!")with open("example.txt", "r") as file:content = file.read()print(content)

20. 面向对象基础

面向对象编程(OOP)是将数据和操作封装在对象中的编程方式。

  • 类和对象:类是对象的蓝图,使用 class 关键字定义,实例化类创建对象。
  • 属性和方法:类的属性和方法定义了对象的状态和行为。
  • __init__ 方法:构造方法,用于初始化对象。
class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):print("Woof!")dog = Dog("Rex", 5)
dog.bark()  # 输出: Woof!

21. 面向对象-继承

继承是通过现有类创建新类的机制,新类可以继承父类的属性和方法。

  • 子类:继承自父类,可以重写父类的方法或添加新方法。
  • 多继承:一个类可以继承多个父类。
class Animal:def eat(self):print("Eating...")class Dog(Animal):def bark(self):print("Woof!")dog = Dog()
dog.eat()  # 输出: Eating...
dog.bark()  # 输出: Woof!

22. 面向对象-其他

面向对象编程中还包括封装、抽象和多态性等概念。

  • 封装:将数据和方法封装在类中,控制对内部细节的访问。
  • 抽象:通过接口和抽象类来定义行为,而不实现具体功能。
  • 多态性:不同类的对象可以通过相同的接口调用不同的实现。
class Shape:def draw(self):raise NotImplementedError("Subclass must implement abstract method")class Circle(Shape):def draw(self):print("Drawing a circle")shape = Circle()
shape.draw()  # 输出: Drawing a circle

23. 异常

异常处理用于捕获和处理运行时错误,以防止程序崩溃。

  • 捕获异常:使用 tryexcept 块捕获异常。
  • finally:无论是否发生异常,finally 块的代码总是会执行。
  • 自定义异常:可以创建自定义异常类,继承自 Exception
try:result = 10 / 0
except ZeroDivisionError:print("Cannot divide by zero")
finally:print("Execution complete")

24. 模块和包

模块和包用于组织和管理代码,模块是一个Python文件,包是包含模块的目录。

  • 导入模块:使用 import 导入模块。
  • 自定义模块:将Python代码保存在 .py 文件中,可以作为模块导入。
  • 标准库:Python提供了丰富的标准库,可以直接导入使用。
import math
print(math.sqrt(16))  # 输出: 4.0

25. 包

包是包含多个模块的目录,通过层次化组织代码,包中必须包含 __init__.py 文件。

  • 创建包:将模块放入目录中,并添加 __init__.py 文件。
  • 导入包:使用 import 导入包中的模块或子包。
# 目录结构
# mypackage/
# ├── __init__.py
# ├── module1.py
# └── module2.pyfrom mypackage import module1

这些知识点构成了Python编程的基础,掌握这些内容将为更高级的编程打下坚实的基础。

相关文章:

Python基础知识点--总结

1. 注释 注释用于提高代码的可读性&#xff0c;在代码中添加说明文字&#xff0c;使代码更容易理解。 单行注释&#xff1a;使用 # 符号开头&#xff0c;注释内容在符号之后的行内。多行注释&#xff1a;使用三引号&#xff08; 或 """&#xff09;包裹注释内…...

高效记录与笔记整理的策略:工具选择、结构设计与复习方法

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

Request重复读的问题

换了新工作都有时间写文章&#xff0c;每天也是加班到很晚&#xff0c;也不是工作内容多&#xff0c;主要是还是效率低&#xff0c;要考虑多干的很心累。 一、关于request重复读的问题&#xff0c;从源码的角度来分析 为什么他不能重复读 跳转 再看源码前可能需要一些基础的…...

Linux学习第60天:Linux驱动开发的一些总结

今天是Linux驱动开发的最后一个章节&#xff0c;题目中标明是60天完成的&#xff0c;其实在实际学习及笔记的整理中不止是60天。中间有过断更&#xff0c;有时断更的时间还是挺长的。这是在整个Linux驱动开发学习中最不满意的地方。 题目为Linux学习&#xff0c;其实这个题目有…...

OPP || 继承和抽象类 || 访问控制

OPP面向对象程序设计 数据抽象&#xff1a;类的接口声明和定义实现分离继承&#xff1a;类构成的&#xff08;树型&#xff09;层次关系动态绑定&#xff1a;忽略相似类型区别&#xff0c;用统一的方式使用 基类派生类&#xff1a; 继承&#xff1a;类名 冒号 访问说明符 …...

蓝牙音视频远程控制协议(AVRCP) command跟response介绍

零.声明 本专栏文章我们会以连载的方式持续更新&#xff0c;本专栏计划更新内容如下&#xff1a; 第一篇:蓝牙综合介绍 &#xff0c;主要介绍蓝牙的一些概念&#xff0c;产生背景&#xff0c;发展轨迹&#xff0c;市面蓝牙介绍&#xff0c;以及蓝牙开发板介绍。 第二篇:Trans…...

MySQL的InnoDB存储引擎中的Buffer Pool机制

目录 Buffer Pool 简介 定义 为什么需要Buffer Pool 图解重点知识 Buffer Pool 的组成 数据页&#xff08;Data Pages&#xff09; 索引页&#xff08;Index Pages&#xff09; 插入缓冲页&#xff08;Insert Buffer Pages&#xff09; undo页&#xff08;Undo Pages&a…...

5. MongoDB 文档插入、更新、删除、查询

1. 插入文档 文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。 BSON是一种类似JSON的二进制形式的存储格式&#xff0c;是Binary JSON的简称。常用的插入文档方法包括&#xff1a; db.collection.insertOne()&#xff1a;插入单个文档db.collection.inse…...

⌈ 传知代码 ⌋ DETR[端到端目标检测]

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...

Oracle之触发器

简介 触发器在数据库里以独立的对象存储&#xff0c;他与存储过程不同的是&#xff0c;存储过程通过其他程序来启动运行或直接启动运行而触发器是由一个事件来启动运行&#xff0c;即触发器是当某个事件发生时自动式运行。并企&#xff0c;触发器不能接收参数。所以运行触发器…...

从零搭建微前端架构:解耦大型项目的终极方案

随着前端应用的复杂度不断提升,单体前端应用(Monolithic Frontend)的维护和扩展难度也日益增加。微前端(Micro-Frontend)作为一种新兴架构理念,旨在将大型前端项目拆分为多个独立、可独立部署的微应用,从而提升项目的可维护性和灵活性。这篇文章将带你从零开始搭建一个微…...

24/8/17算法笔记 MPC算法

MPC算法&#xff0c;在行动前推演一下 MPC&#xff08;Model Predictive Control&#xff0c;模型预测控制&#xff09;是一种先进的控制策略&#xff0c;它利用未来预测模型来优化当前的控制动作。MPC的核心思想是&#xff0c;在每一个控制步骤中&#xff0c;都基于当前系统状…...

GROUP_CONCAT 用法详解(Mysql)

GROUP_CONCAT GROUP_CONCAT 是 MySQL 中的一个聚合函数&#xff0c;用于将分组后的多行数据连接成一个单一的字符串。 通常用于将某个列的多个值合并到一个字符串中&#xff0c;以便更方便地显示或处理数据。 GROUP_CONCAT([DISTINCT] column_name[ORDER BY column_name [ASC…...

Golang httputil 包深度解析:HTTP请求与响应的操控艺术

标题&#xff1a;Golang httputil 包深度解析&#xff1a;HTTP请求与响应的操控艺术 引言 在Go语言的丰富标准库中&#xff0c;net/http/httputil包是一个强大的工具集&#xff0c;它提供了操作HTTP请求和响应的高级功能。从创建自定义的HTTP代理到调试HTTP流量&#xff0c;h…...

SQLALchemy 分页

SQLALchemy 分页 1. 使用SQLAlchemy的`slice`和`offset`/`limit`SQLAlchemy 1.4及更新版本SQLAlchemy 1.3及更早版本使用第三方库注意事项在Web开发中,分页是处理大量数据时一个非常重要的功能。SQLAlchemy是一个流行的Python SQL工具包和对象关系映射(ORM)库,它允许开发者…...

快速上手体验MyPerf4J监控springboot应用(docker版快速开始-本地版)

使用MyPerf4J监控springboot应用 快速启动influxdb时序数据库日志收集器telegrafgrafana可视化界面安装最终效果 项目地址 项目简介: 一个针对高并发、低延迟应用设计的高性能 Java 性能监控和统计工具。 价值 快速定位性能瓶颈快速定位故障原因 快速启动 监控本地应用 idea配…...

C语言 之 strlen、strcpy、strcat、strcmp字符串函数的使用和模拟实现

文章目录 strlen的使用和模拟实现函数的原型strlen模拟实现&#xff1a;方法1方法2方法3 strcpy的使用和模拟实现函数的原型strcpy的模拟实现&#xff1a; strcat的使用和模拟实现函数的原型strcat的模拟实现&#xff1a; strcmp的使用和模拟实现函数的原型strcmp的模拟实现 本…...

CAPL使用结构体的方式组装一条DoIP车辆识别请求报文(payload type 0x0002)

DoIP车辆识别请求(payload type 0x0002)报文的格式为: /******************************************************** +--------+--------+--------+--------+ |version | inVer | type | +--------+--------+--------+--------+ | length …...

数据接入教学

数据接入教学 1、开通外部网络策略2、检查本地防火墙策略3、测试网络连通性4、工具抓包命令5、本地测试发送与监听 1、开通外部网络策略 保证外部网络联通、保证内部防火墙开通策略&#xff08;可以关闭进行测试&#xff09; 2、检查本地防火墙策略 关闭进行测试 停止firewa…...

炒作将引发人工智能寒冬

我们似乎经常看到人工智能的进步被吹捧为机器真正变得智能的一大飞跃。我将在这里挑选其中的一个例子&#xff0c;并确切解释为什么这种态度会为人工智能的未来埋下隐患。 这很酷&#xff0c;这是一个非常困难且非常具体的问题&#xff0c;这个团队花了3 年时间才解决。他们一定…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...