Python内置函数(14)——bytes
英文文档:
class bytes
([source[, encoding[, errors]]])
Return a new “bytes” object, which is an immutable sequence of integers in the range 0 <= x < 256
. bytes
is an immutable version of bytearray
– it has the same non-mutating methods and the same indexing and slicing behavior.
Accordingly, constructor arguments are interpreted as for bytearray()
.
根据传入的参数生成一个新的不可变的数组
说明:
1. 返回值为一个新的不可修改字节数组,每个数字元素都必须在0 - 255范围内,和bytearray函数的具有相同的行为,差别仅仅是返回的字节数组不可修改。
2. 当3个参数都不传的时候,返回长度为0的字节数组
- >>> b = bytes()
- >>> b
- b''
- >>> len(b)
- 0
3. 当source参数为字符串时,encoding参数也必须提供,函数将字符串使用str.encode方法转换成字节数组
- >>> bytes('中文') #需传入编码格式
- Traceback (most recent call last):
- File "<pyshell#14>", line 1, in <module>
- bytes('中文')
- TypeError: string argument without an encoding
- >>> bytes('中文','utf-8')
- b'\xe4\xb8\xad\xe6\x96\x87'
- >>> '中文'.encode('utf-8')
- b'\xe4\xb8\xad\xe6\x96\x87'
4. 当source参数为整数时,返回这个整数所指定长度的空字节数组
- >>> bytes(2)
- b'\x00\x00'
- >>> bytes(-2) #整数需大于0,用于做数组长度
- Traceback (most recent call last):
- File "<pyshell#19>", line 1, in <module>
- bytes(-2)
- ValueError: negative count
5. 当source参数为实现了buffer接口的object对象时,那么将使用只读方式将字节读取到字节数组后返回
6. 当source参数是一个可迭代对象,那么这个迭代对象的元素都必须符合0 <= x < 256,以便可以初始化到数组里
- >>> bytes([1,2,3])
- b'\x01\x02\x03'
- >>> bytes([256,2,3])
- Traceback (most recent call last):
- File "<pyshell#21>", line 1, in <module>
- bytes([256,2,3])
- ValueError: bytes must be in range(0, 256)
7. 返回数组不可修改
- >>> b = bytes(10)
- >>> b
- b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- >>> b[0]
- 0
- >>> b[1] = 1 #不可修改
- Traceback (most recent call last):
- File "<pyshell#6>", line 1, in <module>
- b[1] = 1
- TypeError: 'bytes' object does not support item assignment
- >>> b = bytearray(10)
- >>> b
- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
- >>> b[1] = 1 #可修改
- >>> b
- bytearray(b'\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00')
Python内置函数(14)——bytes的更多相关文章
- Python内置函数(8)——bytes
英文文档: class bytes([source[, encoding[, errors]]]) Return a new “bytes” object, which is an immutable ...
- Python内置函数之bytes()
该函数是一个类对象: class bytes([source[,encoding[,errors]]]) 返回值为字节对象,当第一个参数为字符串时,必须提供第二个参数,第二个参数为编码类型的字符串. ...
- Python内置函数(14)——delattr
英文文档: delattr(object, name) This is a relative of setattr(). The arguments are an object and a strin ...
- Python 内置函数笔记
其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...
- 【转】python 内置函数总结(大部分)
[转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...
- python内置函数,匿名函数
一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...
- python 内置函数总结(大部分)
python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...
- Python入门之 Python内置函数
Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用 ...
- Python内置函数和内置常量
Python内置函数 1.abs(x) 返回一个数的绝对值.实参可以是整数或浮点数.如果实参是一个复数,返回它的模. 2.all(iterable) 如果 iterable 的所有元素为真(或迭代器为 ...
随机推荐
- TP90 95 99指标
备忘下: 保证90%请求都能被响应的最小耗时 The tp90 is a minimum time under which 90% of requests have been served. tp90 ...
- 什么是tcp/ip
在了解Tcp /Ip之前.我们需要了解几个名词的含义: 什么是IP? IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层:相反,IP层也 ...
- Learn HTML5 in 5 Minutes!
There's no question, HTML5 is a hot topic for developers. If you need a crash course to quickly unde ...
- c++cout执行顺序之一个不容易注意到的一点
二话不说,先看一个例子 #include <iostream> using namespace std; int main() { ]={,,,,,,,,,}; int *p=a; int ...
- HashSet实现不重复储值原理-附源码解析
在HashSet中,基本的操作都是由HashMap底层实现的,因为HashSet底层是用HashMap存储数据.当向HashSet中添加元素的时候,首先计算元素的hashcode值,然后用这个(元素的 ...
- 在做APP前端开发时应注意的一些问题
在做APP前端开发时应注意的一些问题 在整个app开发流程中,app前端开发是一个必不可少的环节,也是一个在app开发过程中重量级的角色.说到这,那么在app应用的前端开发中,又要注意什么问题呢?一. ...
- iOS 提交审核报错 ERROR ITMS-90087解决办法
ERROR ITMS-: "Unsupported Architectures. The executable for yht.temp_caseinsensitive_rename.app ...
- 兄弟连学Python-Mysql的基础知识
##MySQL数据库基础知识 1.数据库系统(database system) 数据库系统是计算机系统中一种专门管理数组资源的系统,数据库存储的是一组或多组经过处理后的数据,管理这个数据库的软件成为数 ...
- linux截取字符串之sort、uniq、cut用法
sort命令是帮我们依据不同的数据类型进行排序 参 数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -f 排序时,忽略大小写字母. -M 将前 ...
- Java虚拟机之Java内存区域
Java虚拟机运行时数据区域 ⑴背景:对于c/c++来说程序员来说,需要经常去关心内存运行情况,但对于Java程序员,只需要在必要时关心内存运行情况,这是因为在Java虚拟机自动内存管理机制的帮助下, ...