Python学习(2) ----- Python的类型

在 Python 中,一切皆对象,每个对象都有类型。下面是 Python 中的常见内置类型分类和示例:


🟡 1. 数字类型(Numeric Types)

类型说明示例
int整数5, -42
float浮点数3.14, -0.5
complex复数1 + 2j
a = 10        # int
b = 3.14      # float
c = 2 + 3j    # complex

🔤 2. 文本类型

类型说明示例
str字符串"hello"'你好' 单引号或者双引号,如果涉及到换行的可以使用三双引号 “”" “”"
s = "Hello, 世界"
s = """
!!!
this is template!!!
!!!
"""

📦 3. 序列类型(Sequence Types)

类型说明示例
list可变列表[1, 2, 3]
tuple不可变元组(1, 2, 3)
range范围对象range(0, 5)
my_list = [1, 2, 3]
my_tuple = (4, 5, 6)

🔡 4. 集合类型

类型说明示例
set无序不重复集合{1, 2, 3}
frozenset不可变集合frozenset([1,2])
my_set = {1, 2, 3}

📖 5. 映射类型(Mapping)

类型说明示例
dict字典{"name": "Alice", "age": 30}
person = {"name": "Alice", "age": 25}

🔘 6. 布尔类型

类型说明示例
bool布尔值(真/假)True, False
is_valid = True

🧼 7. 特殊类型

类型说明示例
NoneType空值/无返回None
bytes二进制数据b"abc"
bytearray可变二进制序列bytearray(b"abc")

✅ 类型检查与转换

检查类型:

type(3.14)          # <class 'float'>
isinstance("abc", str)  # True

类型转换:

int("123")        # => 123
float("3.14")     # => 3.14
str(456)          # => "456"
list("abc")       # => ['a', 'b', 'c']

💡 拓展:自定义类型(类)

class Dog:def __init__(self, name):self.name = named = Dog("Buddy")
print(type(d))  # <class '__main__.Dog'>

集合类型的详细操作

当然可以!以下是包括集合类型的定义、添加、删除操作在内的 Python 集合类型完整说明,帮助你全面理解集合(setfrozenset)的使用:


🧩 Python 集合类型(Set Types)完整说明


🔹 1. set(可变集合)

✅ 定义:

my_set = {1, 2, 3}
my_set2 = set([4, 5, 6])  # 使用 set() 构造

✅ 添加元素:

方法说明示例
add(elem)添加一个元素my_set.add(4)
update(iterable)添加多个元素(可传列表、元组等)my_set.update([5, 6, 7])
my_set = {1, 2, 3}
my_set.add(4)               # => {1, 2, 3, 4}
my_set.update([5, 6])       # => {1, 2, 3, 4, 5, 6}

✅ 删除元素:

方法说明示例
remove(elem)删除元素,不存在则抛出异常my_set.remove(2)
discard(elem)删除元素,不存在也不会抛异常my_set.discard(100)
pop()随机删除一个元素并返回它val = my_set.pop()
clear()清空集合my_set.clear()
my_set = {1, 2, 3, 4}
my_set.remove(2)       # => {1, 3, 4}
my_set.discard(100)    # 不报错
value = my_set.pop()   # 删除并返回任一元素
my_set.clear()         # => 空集合 set()

🔹 2. frozenset(不可变集合)

✅ 定义:

fset = frozenset([1, 2, 3])

⚠️ 不可修改:

  • 不支持 .add().remove().update() 等修改操作。
  • 可以用于字典的键或集合的元素(因为它是可哈希的)。

🧠 3. 集合的特点总结

  • 自动去重:{1, 2, 2, 3} 会变成 {1, 2, 3}
  • 元素无序:无法通过索引访问,如 set[0] 是错误的
  • 可进行集合运算(交、并、差等)
a = {1, 2, 3}
b = {3, 4, 5}print(a | b)  # 并集 => {1, 2, 3, 4, 5}
print(a & b)  # 交集 => {3}
print(a - b)  # 差集 => {1, 2}

✅ 小结

操作可变 set不可变 frozenset
添加元素.add() / .update()❌ 不支持
删除元素.remove() / .discard() / .pop() / .clear()❌ 不支持
集合运算✅ 支持✅ 支持
可做字典键✅ 支持

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

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

相关文章

跨协议协同智造新实践:DeviceNet-EtherCAT网关驱动汽车焊接装配效能跃迁

在汽车制造领域&#xff0c;机器人协作对于提升生产效率与产品质量至关重要。焊接、装配等关键环节&#xff0c;需要机器人与各类设备紧密配合。JH-DVN-ECT疆鸿智能的devicenet从站转ethercat主站协议网关&#xff0c;成为实现这一高效协作的得力助手&#xff0c;尤其是在连接欧…

nginx之proxy_buffering的作用

Nginx 的缓冲机制是为了让后端能更快释放资源&#xff0c;而不是卡在慢客户端上&#xff0c;从而提升整体性能和并发能力。 现实中客户端和后端服务器之间的传输速率可能差异很大。Nginx 的缓冲机制正是为了解决这个不匹配问题。 假设没有缓冲&#xff08;即 proxy_buffering…

数据库相关问题

1.保留字 1.1错误案例&#xff08;2025/5/27&#xff09; 报错&#xff1a; java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near condition, sell…

GO 语言进阶之 进程 OS与 编码,数据格式转换

更多个人笔记见&#xff1a; github个人笔记仓库 gitee 个人笔记仓库 个人学习&#xff0c;学习过程中还会不断补充&#xff5e; &#xff08;后续会更新在github上&#xff09; 文章目录 进程信息OS操作基本例子 编码相关HASH 哈希Base64 encoding 基础64编码 数据格式转换和处…

如何用Spring Cache实现对Redis的抽象

我们在进行Java项目开发时候&#xff0c;经常会用到Redis缓存例如数据库里的一些信息、手机验证码之类的&#xff0c;正常写法就会像去连mysql一样&#xff0c;这种硬编码的方式肯定是非常不合适的。 Autowireprivate UserMapper userMapper;Autowireprivate StringCommand str…

CMake指令:file()

目录 1.简介 2.常用子命令&#xff08;COMMAND&#xff09; 2.1.COPY - 复制文件或目录 2.2.RENAME - 重命名文件或目录 2.3.REMOVE - 删除文件或目录 2.4.MAKE_DIRECTORY - 创建目录 2.5.READ - 读取文件内容 2.6.WRITE - 写入文件内容 2.7.GLOB - 按模式匹配文件 2…

使用VuePress开发日志

结合官方教程&#xff0c;补充一些细节。 快速上手 | VuePress中文文档 | VuePress中文网 VuePress使用步骤 创建并进入一个新目录 mkdir vuepress-starter && cd vuepress-starter使用你喜欢的包管理器进行初始化 yarn init # npm init将 VuePress 安装为本地依赖 …

随手记录7

2025年5月26日~2025年6月01日 周一&#xff1a;没做 周二&#xff1a;芹菜炒鸡蛋香肠 周三&#xff1a; 周四&#xff1a; 周五&#xff1a; 周六&#xff1a; 周日&#xff1a;

【无标题】使用JEasyOpc开发OPCDA采集中间件

使用JEasyOpc开发OPCDA采集中间件 1.JEasyOpc下载2.修改JEasyOpc源码及打包安装3.Pom 引入jeasy2.3.2.jar4.maven pom 配置打包5.cmd执行&#xff08;手动指定 main主程序入口&#xff09;6.EXE4J打包jar包&#xff0c;生成exe可执行文件 1.JEasyOpc下载 jeasyopc源码下载&…

5 WPF中的Page页面的使用

以下是一个简单的WPF示例&#xff0c;演示如何在三个Page之间进行导航切换&#xff0c;使用Frame控件作为导航容器&#xff0c;并包含基本的导航按钮&#xff08;前进/后退/主页&#xff09; Page类更简单&#xff0c;比Window更精简。 代码见下文以及资源文件&#xff1a; htt…

基于51单片机的音乐盒点阵屏proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1hYzg2icjHV8jWJdltJkKxw 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C51 是一款常用的 8 位单片机&#xff0c;由 Atmel 公司&#xff08;现已被 Microchip 收…

图论:floyed算法

Floyd 算法是一种用于寻找加权图中所有顶点对之间最短路径的经典算法&#xff0c;它能够处理负权边&#xff0c;但不能处理负权环。即如果边权有负数&#xff0c;切负权边与其他边构成了环就不能用该算法。该算法的时间复杂度为 \(O(V^3)\)&#xff0c;其中 V 是图中顶点的数量…

STM32之看门狗(IWDG)

一、看门狗外设的原理与应用 背景说明 随着单片机的发展&#xff0c;单片机在家用电器、工业自动化、生产过程控制、智能仪器仪表等领域的应用越来越广泛。然而处于同一电力系统中的各种电气设备通过电或磁的联系彼此紧密相连&#xff0c;相互影响&#xff0c;由于运行方式的…

#RabbitMQ# 消息队列进阶

目录 消息可靠性 一 生产者的可靠性 1 生产者的重连 2 生产者的确认 (1 Confirm* (2 Return 二 MQ的可靠性 1 数据持久化 2 Lazy Queue* 三 消费者的可靠性 1 消费者确认机制 2 消费失败处理 3 业务幂等性 四 延迟消息 消息可靠性 在消息队列中&#xff0c;可靠性…

《计算机组成原理》第 10 章 - 控制单元的设计

目录 10.1 组合逻辑设计 10.1.1 组合逻辑控制单元框图 10.1.2 微操作的节拍安排 10.1.3 组合逻辑设计步骤 10.2 微程序设计 10.2.1 微程序设计思想的产生 10.2.2 微程序控制单元框图及工作原理 10.2.3 微指令的编码方式 1. 直接编码&#xff08;水平型&#xff09; 2.…

AstroNex空间任务智能控制研究与训练数据集

数据集概述 AstroNex空间任务智能控制研究与训练数据集是朗迪锋科技基于Multiverse平台精心打造的首个全面覆盖航天器智能控制全周期的综合数据集产品。该数据集汇集了轨道动力学、姿态控制、机器视觉、环境感知等多维度数据&#xff0c;为航天器智能算法研发提供丰富的训练与…

​​3D 几何建模工具库​Open CASCADE(OCCT)简单介绍。

​​Open CASCADE&#xff08;OCCT&#xff09;​​ 的新手&#xff0c;我会用最简单的方式帮你理解它是什么、能做什么&#xff0c;以及如何快速上手。 ​​1. OCCT 是什么&#xff1f;​​ ​​一句话定义​​&#xff1a;OCCT 是一个开源的 ​​3D 几何建模工具库​​&…

[7-1] ADC模数转换器 江协科技学习笔记(14个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 DMA&#xff08;Direct Memory Access&#xff0c;直接内存访问&#xff09;是一种硬件特性&#xff0c;它允许某些硬件子系统直接访问系统的内存&#xff0c;而无需CPU的介入。这样&#xff0c;CPU就可以处理其他任务&#xff0c;从而提高系…

篇章三 基础——不可变类

目录 1.是什么 2.为什么 3.怎么做 4.构造详细的不可变类示例: 5.补充 5.1 Java标准库中的不可变类 5.2 构造不可变类进阶 1.对象包含嵌套的引用类型字段 2. 大型对象采用不可变类时,需考虑性能影响。 2.1 内存占用问题 2.2 垃圾回收压力 2.3 复制开销 2.4 优化策…

cuda ncu section 含义解释

NVIDIA Nsight Compute (NCU) 是用于分析 CUDA 程序性能的工具&#xff0c;通过 Sections 组织性能指标。用户提供的 24 个 Sections 涵盖了计算、内存、调度、互连和可视化等方面。本报告详细解释每个 Section 的含义、用途及相关分析场景。 Sections 详细解析 C2CLink 含义&…