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

【Python 变量类型】

Python 是一种动态类型语言,变量类型在运行时自动确定,无需显式声明。以下是 Python 中核心变量类型的分类与用法详解:


一、基本数据类型

1. 数值类型
  • 整数 (int)
    支持正负数、零和二进制/八进制/十六进制表示:

    a = 42
    b = 0o52  # 八进制 => 42
    c = 0x2A  # 十六进制 => 42
    
  • 浮点数 (float)
    支持科学计数法:

    pi = 3.14159
    big_num = 1.2e6  # 1200000.0
    
  • 复数 (complex)
    由实部和虚部组成:

    c = 3 + 4j
    
2. 布尔型 (bool)
  • 只有 TrueFalse 两个值
  • 逻辑运算结果:
    is_valid = (5 > 3) and (10 != 8)  # True
    
3. 字符串 (str)
  • 支持单引号、双引号、三引号:
    s1 = 'Hello'
    s2 = "World"
    s3 = '''Multi-line
    string'''
    
  • 不可变对象,常用操作:
    text = "Python"
    print(text[0])    # 'P' (索引)
    print(text[1:4])  # 'yth' (切片)
    print("thon" in text)  # True (成员检查)
    

二、复合数据类型

1. 列表 (list)
  • 有序、可变、允许重复元素:
    numbers = [1, 2, 3, 2]
    numbers.append(4)    # 末尾添加
    numbers[0] = 100     # 修改元素
    
2. 元组 (tuple)
  • 有序、不可变、允许重复元素:
    point = (3, 4)
    x, y = point  # 解包赋值
    
3. 字典 (dict)
  • 键值对存储,键唯一且不可变:
    person = {"name": "Alice","age": 30,"is_student": False
    }
    print(person["name"])  # 访问值
    person["city"] = "Paris"  # 添加新键值对
    
4. 集合 (set)
  • 无序、唯一元素集合:
    unique_nums = {1, 2, 2, 3}  # 自动去重 => {1, 2, 3}
    

三、特殊类型

1. None 类型
  • 表示空值或缺失值:
    result = None  # 初始未定义状态
    
2. 字节类型
  • bytes:不可变字节序列
  • bytearray:可变字节序列
    data = b'Hello'  # bytes
    mutable_data = bytearray(b'World')
    
3. 函数/方法
  • 函数可作为一等公民传递:
    def add(a, b):return a + b
    func_ref = add  # 变量指向函数
    print(func_ref(3, 5))  # 8
    

四、类型操作

1. 类型检查
  • type() 返回具体类型:
    print(type(42))  # <class 'int'>
    
  • isinstance() 检查继承关系:
    print(isinstance(3.14, float))  # True
    
2. 类型转换
  • 显式转换函数:
    num_str = "123"
    num = int(num_str)  # 字符串转整数
    

五、动态类型特性

Python 变量可随时改变类型:

var = 42          # int 类型
var = "Python"    # 变为 str 类型
var = [1, 2, 3]   # 变为 list 类型

六、类型层级关系

object
├── int
├── float
├── complex
├── str
├── bool
├── list
├── tuple
├── dict
├── set
├── bytes
├── bytearray
├── NoneType
└── function

理解变量类型是编写高效 Python 代码的基础,合理选择数据类型可优化内存使用和执行效率。对于复杂场景,可结合 typing 模块进行类型注解(Python 3.5+)。

http://www.xdnf.cn/news/5480.html

相关文章:

  • 【技巧】离线安装docker镜像的方法
  • MIT XV6 - 1.6 Lab: Xv6 and Unix utilities -uptime
  • AI 时代 UI 设计的未来范式
  • 设计模式之中介者模式
  • 华为行业认证是什么?如何考取华为行业认证?
  • Wpf学习片段
  • Python3(31) CGI 编程
  • 自动驾驶技术栈——DoIP通信协议
  • 鸿蒙 UIAbility组件与UI的数据同步和窗口关闭
  • 【数据结构】——队列
  • 学习threejs,使用Physijs物理引擎,加载各种几何体网格对象
  • 2025 盘古石杯初赛 wp
  • Lambda表达式能用在哪些场景?
  • 学习黑客5 分钟深入浅出理解Windows Editions
  • MyBatis源码解读1(MyBatis回顾)
  • 微调重排序模型:Reranking从入门到实践
  • GPU Gems1-Effective Water Simulation from Physical Models
  • RHCSA Linux系统 Web页面 论坛 网盘的搭建
  • 沈燕谈艺:把现代科学基因融入古典笔墨中
  • OrangePi Zero 3学习笔记(Android篇)6 - hid-ft260
  • Redis设计与实现——单机Redis实现
  • 光线传感器BH1750
  • springboot3学习
  • 部署Superset BI(五)连接oracle数据库失败
  • LangChain入门(七) 提取和输出结构化数据
  • 【计算机视觉】基于深度学习的实时情绪检测系统:emotion-detection项目深度解析
  • Day116 | 灵神 | 二叉树 | 二叉搜索树中第K小的元素
  • 软件测试复习第五章
  • 利用类型别名定义复杂联合类型和交叉类型
  • cheat engine: Scan error no readable memory found