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

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.xdnf.cn/news/672733.html

相关文章:

  • 《软件工程》实战— 在线教育平台开发
  • Matlab中gcb、gcbh、gcs的区别
  • 下一代 SaaS 平台的 AI 架构重构路径——多租户 AI 服务调度 · 多角色智能辅助 · 嵌入式 AIGC 能力的融合设计
  • 学习黑客 Metasploit 主要组件之 Exploit
  • 实时同步缓存,与阶段性同步缓存——补充理解《补充》
  • 塔能科技:有哪些国内工业节能标杆案例?
  • L1-112 现代战争 - java
  • 将 ubutun 的网络模式 从NAT 改到 桥接模式后,无法上网,linux 没有IP地址 的解决方案
  • Java设计模式之代理模式详解
  • 威联通QNAP替换docker源
  • 被忽视的 App 安全入口:资源文件暴露问题与 iOS 混淆实战(含 Ipa Guard 应用经验)
  • React从基础入门到高级实战:React 核心技术 - 错误处理与错误边界:构建稳定的应用
  • Springboot引入Spring Cloud for AWS的配置中心(Parameter Store和Secrets)
  • RK3568DAYU开发板-平台驱动开发:ADC驱动
  • 火柴INIBOX专业矿机登场,碾压现有Initverse挖矿设备
  • Java构建Tree并实现节点名称模糊查询
  • C 语言学习笔记(结构体1)
  • STM32的DMA入门指南:让单片机学会“自动搬运“数据
  • 【Day38】
  • C语言_文件操作
  • 【深度学习-Day 18】从SGD到Adam:深度学习优化器进阶指南与实战选择
  • 【JavaSE】枚举和注解学习笔记
  • 高考加油(Python+HTML)
  • 青少年编程与数学 02-020 C#程序设计基础 07课题、控制结构
  • Android设置界面层级为最上层实现
  • 【数据集】EarthExplore下载Landsat LST 数据
  • Java网络编程性能优化
  • 【Vue Vapor Mode :技术突破与性能优化的可能性】
  • 嵌入式学习--江协stm32day1
  • 第9章:网络协议栈与 IoT 通信