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

【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+)。

相关文章:

  • 日常组件复用与基于构件开发的本质区别
  • MySQL 学习(七)undo log、redo log、bin log 的作用以及持久化机制
  • 多令牌预测Multi-Token Prediction(MTP)
  • 高防云的主要优势表现在哪些方面?
  • RabbitMQ 工作模式
  • Android音频解码中的时钟同步问题:原理、挑战与解决方案
  • Power BI 实操案例,将度量值转化为切片器(动态切换分析指标)
  • Redis——达人探店
  • 产品思维30讲-(梁宁)--实战2
  • 【Linux】在Arm服务器源码编译onnxruntime-gpu的whl
  • LeRobot 项目部署运行逻辑(七)—— ACT 在 Mobile ALOHA 训练与部署
  • 系统架构-嵌入式系统架构
  • python-75-Nacos技术之Python+Nacos实现微服务架构
  • LInux系统文件与目录管理(二)
  • 风电功率预测方法与准确性提升方案详解
  • node .js 启动基于express框架的后端服务报错解决
  • Spark,RDD中的转换算子
  • 《Vue.js》阅读之响应式数据与副作用函数
  • Html5新特性_js 给元素自定义属性_json 详解_浅克隆与深克隆
  • 动态会话日志记录 ngx_stream_log_module
  • 撤制镇如何突破困境?欢迎订阅《澎湃城市报告》第23期
  • 多省市已开展现房销售试点,去年全国现房销售面积占比超30%
  • 印度外交秘书:印巴军方将于12日再次对话
  • 巴基斯坦称回应挑衅,对印度发起军事行动
  • 习近平会见古巴国家主席迪亚斯-卡内尔
  • 47本笔记、2341场讲座,一位普通上海老人的阅读史