当前位置: 首页 > 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()❌ 不支持
集合运算✅ 支持✅ 支持
可做字典键✅ 支持

相关文章:

  • 多模态大语言模型arxiv论文略读(九十五)
  • Python正则表达式:30秒精通文本处理
  • Java中数组(一维/二维)与字符串操作(String/StringBuilder/StringBuffer)详解
  • mysql中的索引怎么用?
  • 高压单端探头,如何实现大比例的衰减?
  • 在thinkphp5.0中。单表使用 model clone 时就会有问题。 需要使用 alias(), 否则会报错。
  • 网络协议:[0-RTT 认证 ]
  • 一起学数据结构和算法(二)| 数组(线性结构)
  • VMware-MySQL主从
  • 板凳-------Mysql cookbook学习 (七)
  • 2025上半年软考高级系统架构设计师经验分享
  • Elasticsearch索引机制与Lucene段合并策略深度解析
  • 【QT】在QT6中读取文件的方法
  • 鸿蒙OSUniApp 实现的数字键盘与密码输入框组件#三方框架 #Uniapp
  • 一起学数据结构和算法(三)| 字符串(线性结构)
  • 人工智能AI之机器学习基石系列 第 2 篇:数据为王——机器学习的燃料与预处理
  • C++(初阶)(二十)——封装实现set和map
  • 每日算法-250527
  • 路桥隧养护决策系统
  • 小黑黑大模型应用日常摸索中:初次使用langchain智能体调用工具,准备继续深入
  • 网站首页该怎么做/百度移动端关键词优化
  • 动态网站建设步骤/哪里有网页设计公司
  • 优化网站哪个好/奖券世界推广网站
  • 怎样建设论坛网站/网络营销的作用
  • wordpress页脚小工具居中/优化关键词有哪些方法
  • 哪里有服务好的网站建设公司/sku电商是什么意思