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. 条件语句
条件语句根据条件是否为真来决定执行的代码块,使用 if
、elif
和 else
关键字。
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. 异常
异常处理用于捕获和处理运行时错误,以防止程序崩溃。
- 捕获异常:使用
try
和except
块捕获异常。 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. 注释 注释用于提高代码的可读性,在代码中添加说明文字,使代码更容易理解。 单行注释:使用 # 符号开头,注释内容在符号之后的行内。多行注释:使用三引号( 或 """)包裹注释内…...

高效记录与笔记整理的策略:工具选择、结构设计与复习方法
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
Request重复读的问题
换了新工作都有时间写文章,每天也是加班到很晚,也不是工作内容多,主要是还是效率低,要考虑多干的很心累。 一、关于request重复读的问题,从源码的角度来分析 为什么他不能重复读 跳转 再看源码前可能需要一些基础的…...
Linux学习第60天:Linux驱动开发的一些总结
今天是Linux驱动开发的最后一个章节,题目中标明是60天完成的,其实在实际学习及笔记的整理中不止是60天。中间有过断更,有时断更的时间还是挺长的。这是在整个Linux驱动开发学习中最不满意的地方。 题目为Linux学习,其实这个题目有…...
OPP || 继承和抽象类 || 访问控制
OPP面向对象程序设计 数据抽象:类的接口声明和定义实现分离继承:类构成的(树型)层次关系动态绑定:忽略相似类型区别,用统一的方式使用 基类派生类: 继承:类名 冒号 访问说明符 …...

蓝牙音视频远程控制协议(AVRCP) command跟response介绍
零.声明 本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下: 第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。 第二篇:Trans…...

MySQL的InnoDB存储引擎中的Buffer Pool机制
目录 Buffer Pool 简介 定义 为什么需要Buffer Pool 图解重点知识 Buffer Pool 的组成 数据页(Data Pages) 索引页(Index Pages) 插入缓冲页(Insert Buffer Pages) undo页(Undo Pages&a…...
5. MongoDB 文档插入、更新、删除、查询
1. 插入文档 文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。 BSON是一种类似JSON的二进制形式的存储格式,是Binary JSON的简称。常用的插入文档方法包括: db.collection.insertOne():插入单个文档db.collection.inse…...

⌈ 传知代码 ⌋ DETR[端到端目标检测]
💛前情提要💛 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间,对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…...
Oracle之触发器
简介 触发器在数据库里以独立的对象存储,他与存储过程不同的是,存储过程通过其他程序来启动运行或直接启动运行而触发器是由一个事件来启动运行,即触发器是当某个事件发生时自动式运行。并企,触发器不能接收参数。所以运行触发器…...
从零搭建微前端架构:解耦大型项目的终极方案
随着前端应用的复杂度不断提升,单体前端应用(Monolithic Frontend)的维护和扩展难度也日益增加。微前端(Micro-Frontend)作为一种新兴架构理念,旨在将大型前端项目拆分为多个独立、可独立部署的微应用,从而提升项目的可维护性和灵活性。这篇文章将带你从零开始搭建一个微…...
24/8/17算法笔记 MPC算法
MPC算法,在行动前推演一下 MPC(Model Predictive Control,模型预测控制)是一种先进的控制策略,它利用未来预测模型来优化当前的控制动作。MPC的核心思想是,在每一个控制步骤中,都基于当前系统状…...

GROUP_CONCAT 用法详解(Mysql)
GROUP_CONCAT GROUP_CONCAT 是 MySQL 中的一个聚合函数,用于将分组后的多行数据连接成一个单一的字符串。 通常用于将某个列的多个值合并到一个字符串中,以便更方便地显示或处理数据。 GROUP_CONCAT([DISTINCT] column_name[ORDER BY column_name [ASC…...
Golang httputil 包深度解析:HTTP请求与响应的操控艺术
标题:Golang httputil 包深度解析:HTTP请求与响应的操控艺术 引言 在Go语言的丰富标准库中,net/http/httputil包是一个强大的工具集,它提供了操作HTTP请求和响应的高级功能。从创建自定义的HTTP代理到调试HTTP流量,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模拟实现:方法1方法2方法3 strcpy的使用和模拟实现函数的原型strcpy的模拟实现: strcat的使用和模拟实现函数的原型strcat的模拟实现: strcmp的使用和模拟实现函数的原型strcmp的模拟实现 本…...
CAPL使用结构体的方式组装一条DoIP车辆识别请求报文(payload type 0x0002)
DoIP车辆识别请求(payload type 0x0002)报文的格式为: /******************************************************** +--------+--------+--------+--------+ |version | inVer | type | +--------+--------+--------+--------+ | length …...
数据接入教学
数据接入教学 1、开通外部网络策略2、检查本地防火墙策略3、测试网络连通性4、工具抓包命令5、本地测试发送与监听 1、开通外部网络策略 保证外部网络联通、保证内部防火墙开通策略(可以关闭进行测试) 2、检查本地防火墙策略 关闭进行测试 停止firewa…...

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

网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...