Python 的内置函数 bytearray

作者:IMPYLH日期:2025/10/14

Python 内建函数列表 > Python 的内置函数 bytearray

1class bytearray(x=b''):
2    '''
3    创建 bytearray
4
5    :param x: 要转换的变量
6    :return: x 转换为 bytearray 后的值
7    '''
8

Python 的内置函数 bytearray 是一个可变序列,用于存储字节数据。它类似于 bytes 类型,但主要区别在于 bytearray 是可变的,而 bytes 是不可变的。以下是关于 bytearray 的详细说明和使用场景:

1. 基本语法

1bytearray([source[, encoding[, errors]]])
2
  • source(可选):可以是整数、字符串、可迭代对象或缓冲区对象。
  • encoding(可选):如果 source 是字符串,需要指定编码格式(如 'utf-8')。
  • errors(可选):指定编码错误处理方式(如 'strict''ignore''replace')。

2. 创建 bytearray 的方式

(1) 创建空 bytearray
1ba = bytearray()
2print(ba)  # 输出:bytearray(b'')
3
(2) 指定长度的 bytearray(整数初始化)
1ba = bytearray(5)  # 创建 5 个字节,默认值为 0
2print(ba)  # 输出:bytearray(b'\x00\x00\x00\x00\x00')
3
(3) 从字符串转换
1ba = bytearray("hello", "utf-8")
2print(ba)  # 输出:bytearray(b'hello')
3
(4) 从迭代对象(如列表)转换
1ba = bytearray([65, 66, 67])  # ASCII 码对应 A, B, C
2print(ba)  # 输出:bytearray(b'ABC')
3
(5) 从 bytes 转换
1b = b"example"
2ba = bytearray(b)
3print(ba)  # 输出:bytearray(b'example')
4

3. bytearray 的特性

  • 可变性:可以修改其中的字节值。
1ba = bytearray(b"hello")  
2ba[0] = 72  # 修改第一个字节为大写 'H'  
3print(ba)  # 输出:bytearray(b'Hello')  
  • 支持列表操作
    • 可以添加、删除、修改元素。
    • 支持切片操作。

4. 常见应用场景

  • 二进制数据处理:适用于解析或修改二进制文件、网络协议等场景。
1data = bytearray(b"\x01\x02\x03")  
2data.append(4)  # 添加字节 0x04  
  • 临时缓冲区:需要动态修改的二进制数据缓冲区。
1buffer = bytearray()  
2buffer.extend(b"data")  
  • 文本处理(编码转换):如从不同编码格式转换字节数据。
1text = "你好"  
2ba = bytearray(text.encode("utf-8"))  

5. 与 bytes 的区别

特性bytearraybytes
可变性✅ 可修改❌ 不可修改
性能稍慢(可变开销)更快(不可变优化)
适用场景需要动态修改字节固定不变的二进制数据

6. 总结

bytearray 提供了一种灵活的方式处理可变二进制数据,适用于需要动态修改字节的场景,如网络通信、二进制文件操作等。如果数据不需要修改,建议使用 bytes 以提高性能。


Python 的内置函数 bytearray》 是转载文章,点击查看原文


相关推荐


【HarmonyOS AI赋能】朗读控件详解
GeorgeGcs2025/10/13

【HarmonyOS AI赋能】朗读控件详解 一、前言 鸿蒙系统提供了系统级别的朗读控件,来实现对文本进行朗读的业务需求。不需要复杂的SDK接入和集成,就可实现商业级别的朗读效果。 朗读控件分为听筒组件和朗读控制器,以及朗读面板三部分组成。 朗读面板又分为吸边小面板和全屏朗读面板。 需要注意的是,仅支持中国境内(不包含中国香港、中国澳门、中国台湾)提供服务。并且实时朗读的正文信息长度10000字符以内。 二、如何使用朗读控件? 以下代码为上图所示的DEMO源码,可直接新建工程后,贴到index


不止能聊,还能“动手”:谷歌AI代理掀起数字浪潮
墨风如雪2025/10/12

想象一下,你不再需要亲自盯着屏幕,点击鼠标,输入文字,一遍遍重复那些枯燥的在线操作。有一天,你只需对AI说一声:“帮我预订下周五的餐厅,找到离家最近的那个,并且确保能带宠物。”然后,它就能像一个训练有素的助手,熟练地在浏览器中穿梭,完成一系列复杂的任务——搜索、筛选、填写信息、预约…… 这并非遥远的科幻场景。就在最近,谷歌扔下了一颗重磅炸弹:Gemini 2.5 Computer Use模型正式登场。这不仅仅是一个新模型,更是谷歌向“计算机使用智能体”(CUA)这个未来战场吹响的号角,预示着AI


汽车软件开发的质量和安全管理流程
NewCarRen2025/10/10

摘要 软件开发流程是智能车辆(联网车辆和自动驾驶车辆)的核心,必须精心管理。自动化与联网功能的开发分别通过功能安全和网络安全开发流程实现,且需遵循相关标准,这些标准规定了流程、最佳实践、危害、威胁及管理策略。通过改进软件开发流程,智能车辆的人体工程学性能将得到提升。本文阐述了如何通过软件开发来管理实现自动化与联网功能的流程,以及是否可能改变管理团队的策略与软件开发流程。 1、引言 智能车辆是一种能够从周围环境中获取信息,并对信息进行处理,从而实现自主安全行驶且不造成任何伤害的车辆。此外,智


前端路由的秘密:手写一个迷你路由,看懂Hash和History的较量
良山有风来2025/10/9

你是不是也遇到过这样的场景?开发单页面应用时,页面跳转后刷新一下就404,或者URL里带着难看的#号,被产品经理吐槽不够优雅? 别担心,今天我就带你彻底搞懂前端路由的两种模式,手把手教你实现一个迷你路由,并告诉你什么场景该用哪种方案。 读完本文,你能获得一套完整的前端路由知识体系,从原理到实战,再到生产环境配置,一次性全搞定! 为什么需要前端路由? 想象一下,你正在开发一个后台管理系统。传统做法是每个页面都对应一个HTML文件,切换页面就要重新加载,体验特别差。 而前端路由让你可以在一个页面内实


Kubernetes核心技术与集群部署项目
企鹅侠客2025/10/7

从集群搭建到核心功能应用的完整流程,内容涵盖集群部署、核心组件、资源管理、安全机制、持久化、监控与应用交付等关键技术。首先介绍 Kubernetes 的架构与特性,深入讲解 kubeadm 与二进制两种集群搭建方式,包括 etcd 集群部署、Master 与 Node 组件安装、证书签发及高可用集群实现。核心技术部分系统解析 Pod 的运行机制、调度策略、健康检查与资源限制,讲解 Deployment、StatefulSet、DaemonSet、Job 等控制器的应用场景。配置管理方面介绍 Co


Nginx 配置负载均衡(详细版)
1加1等于2025/10/6

本文详细介绍关于Nginx 配置负载均衡,包括配置文件结构、多种负载均衡策略、如何修改均衡策略以及其他一些重要的配置。 本文目录 一、、Nginx 配置负载均衡1. 配置文件结构 二、Nginx 负载均衡策略1. 轮询(`默认策略`)2. 加权轮询3. IP 哈希4. 最少连接 三、修改负载均衡策略四、Nginx 负载均衡其他配置1. 健康检查2. 会话保持3. 超时设置 一、、Nginx 配置负载均衡 1. 配置文件结构 Nginx 的负载均衡配置主要


UNIX下C语言编程与实践16-UNIX 磁盘空间划分:引导块、超级块、i 节点区、数据区的功能解析
迎風吹頭髮2025/10/4

一、UNIX 磁盘空间划分的核心逻辑:为何分为四个区域? UNIX 文件系统在格式化时,会将磁盘分区(如 /dev/sda1)划分为引导块(Boot Block)、超级块(Super Block)、i 节点区(Inode Area)、数据区(Data Area)四个连续的区域。这种划分并非随意设计,而是为了实现“系统启动-文件系统管理-数据存储”的完整功能链路,确保磁盘空间的有序管理和高效访问。 核心定位:四个区域各司其职且相互依赖——引导块负责“启动系统”,超级块负责“管理文件系统全局信息


DeepSeek V3.1-Terminus、阿里 Qwen3-Max、ChatGPT Pulse 同周登场!| AI Weekly 9.22-9.28
AI信息Gap2025/10/3

卷,卷起来了! 📢 本周 AI 快讯 | 1 分钟速览🚀 1️⃣ 🚀 DeepSeek 发布 V3.1-Terminus :Agent 性能提升 28%,HLE 测试跃升全球第三,仅次于 Grok 4 和 GPT-5,SimpleQA 准确率达 96.8%。 2️⃣ 💰 阿里云栖大会七连发 :3800 亿 AI 基建投资起步,万亿参数 Qwen3-Max 对标 GPT-5,AIME 25 和 HMMT 数学测试满分 100 分。 3️⃣ 🖥️ Kimi 推出 OK Compu


[linux仓库]深入解析Linux动态链接与动态库加载:理解背后的原理与技巧
egoist20232025/10/2

🌟 各位看官好,我是egoist2023! 🌍 Linux == Linux is not Unix ! 🚀 今天来学习Linux的指令知识,并学会灵活使用这些指令。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享更多人哦! 目录 进程如何看到动态库 进程间如何共享库 动态链接 编译器对可执行程序动手脚 动态库相对地址  程序如何和库具体映射 程序怎么进行库调用 全局偏移量表GOT 库间依赖(看看即可) 总结 进程如何看到动态库


Excel转PDF不分页
Bella_chene2025/10/2

将Excel转成PDF后,会发现存在分页的现象,理想是希望将一整个表格按实际情况缩放显示到PDF的一页上去 操作办法:打开excel表格,ctrl+P打开打印页面,点击页面设置,选择“将工作表调整为一页” 然后在右侧就可以看到效果,点击保存就可以了

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0