Python bytes 函数 - Python零基础入门教程
目录
- 一.bytes 函数简介
- 二.bytes 函数使用
- 1.定义空的字节序列 bytes
- 2.定义指定个数的字节序列 bytes ,默认以 0 填充,不能是浮点数
- 3.定义指定内容的字节序列 bytes ,只能是整数类型的序列,否则异常
- 4.定义个字节序列 bytes
- 三.重点提醒
- 四.猜你喜欢
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
Python bytes 对于刚接触 Python 的小伙伴来讲,可能还是有点陌生!bytes 是字节序列,值得注意的是它有取值范围:0 <= bytes <= 255;凡是输出前面带有字符 b 标识的都是字节序列 bytes ;
一.bytes 函数简介
Python bytes 字节序列有以下几种使用方式:
"""
bytes(iterable_of_ints) -> bytesbytes(string, encoding[, errors]) -> bytesbytes(bytes_or_buffer) -> immutable copy of bytes_or_bufferbytes(int) -> bytes object of size given by the parameter initialized with null bytesbytes() -> empty bytes objectConstruct an immutable of bytes from:- an iterable yielding integers in range(256)- a text string encoded using the specified encoding- any object implementing the buffer API.- an integer# (copied from class doc)
"""# 1.定义空的字节序列bytes
bytes() -> empty bytes # 2.定义指定个数的字节序列bytes,默认以0填充,不能是浮点数
bytes(int) -> bytes of size given by the parameter initialized with null bytes# 3.定义指定内容的字节序列bytes
bytes(iterable_of_ints)# 4.定义字节序列bytes,如果包含中文的时候必须设置编码格式
bytes(string, encoding[, errors]) -> immutable copy of bytes_or_buffer
**返回值 : 返回一个新的字节序列,字节序列 bytes 有一个明显的特征,输出的时候最前面会有一个字符 b 标识,**举个例子:
b'\x64\x65\x66'
b'i love you'
b'shuopython.com'
凡是输出前面带有字符 b 标识的都是字节序列 bytes ;
二.bytes 函数使用
1.定义空的字节序列 bytes
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): www.codersrc.com
@Github:www.github.com@File:python_bytes.py
@Time:2020/2/25 21:25@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""if __name__ == "__main__":a = bytes()print(a)print(type(a))'''
输出结果:b''
<class 'bytes'>
'''
2.定义指定个数的字节序列 bytes ,默认以 0 填充,不能是浮点数
if __name__ == "__main__":b1 = bytes(10)print(b1)print(type(b1))# bytes 通过 decode函数转为 str类型s1 = b1.decode()print("s1:",s1)print(type(s1))'''
输出结果:b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
<class 'bytes'>
s1:
<class 'str'>
'''
3.定义指定内容的字节序列 bytes ,只能是整数类型的序列,否则异常
if __name__ == "__main__":# 正常输出b1 = bytes([1, 2, 3, 4])>>> b'\x01\x02\x03\x04'# bytes字节序列必须是 0 ~ 255 之间的整数,不能含有float类型b1 = bytes([1.1, 2.2, 3, 4])>>> TypeError: 'float' object cannot be interpreted as an integer# bytes字节序列必须是 0 ~ 255 之间的整数,不能含有str类型b1 = bytes([1, 'a', 2, 3])>>> TypeError: 'str' object cannot be interpreted as an integer# bytes字节序列必须是 0 ~ 255 之间的整数,不能大于或者等于256b1 = bytes([1, 257])>>> ValueError: bytes must be in range(0, 256)
4.定义个字节序列 bytes
if __name__ == "__main__":b1 = bytes('abc', 'utf-8') # 如果包含中文必须设置编码格式print(b1)print("***"*20)b2 = bytes(b'def')print(b2)print(type(b2))print(id(b2))print("***" * 20)b3 = b'\x64\x65\x66'print(b3)print(type(b3))print(id(b3))print("***" * 20)# result = True if b2 == b3 else Falseprint("b == bb 的结果是 ",(b2 == b3))print("b is bb 的结果是 ", (b2 is b3))'''
输出结果:b'abc'
************************************************************
b'def'
<class 'bytes'>
2563018794448
************************************************************
b'def'
<class 'bytes'>
2563018794448
************************************************************
b == bb 的结果是 True
b is bb 的结果是 True'''
注意:
1.**Python is 和==的区别 **文章中有详细介绍:== 是 Python 标准操作符中的比较操作符,用来比较判断两个对象的 value (值)是否相等,例如下面两个字符串间的比较;
2.is 也被叫做同一性运算符,这个运算符比较判断的是对象间的唯一身份标识,也就是 id 是否相同;
3.如果 bytes 初始化含有中文的字符串必须设置编码格式,否则报错:TypeError: string argument without an encoding,如下:
b = bytes("猿说python")>>> b = bytes("猿说python")
>>> TypeError: string argument without an encoding
三.重点提醒
1.bytes 字节序列的取值范围:必须是 0 ~ 255 之间的整数;
2.bytes 字节序列是不可变序列:bytes 是不可变序列,即和 str 类型一样不可修改,如果通过 find 、replace 、islower 等函数修改,其实是创建了新的 bytes 、str 对象,可以通过内置函数 id 查看值 是否发生变化,示例如下:
if __name__ == "__main__":# 1.通过 replace 生成新的bytes字节序列b1 = bytes(b"abcdefg")print(b1)print(type(b1))print(id(b1))print("***" * 20)b2 = bytes.replace(b1,b"cd",b"XY")print(b2)print(type(b2))print(id(b2))print("***" * 20)# 2.bytes 是不可变序列,不能直接修改bytes的内容b1[0] = b"ss">>> TypeError: 'bytes' object does not support item assignment'''
输出结果:b'abcdefg'
<class 'bytes'>
2264724270976
************************************************************
b'abXYefg'
<class 'bytes'>
2264707281104
************************************************************
'''
Python 除了 bytes 字节序列之外,还有 bytearray 可变的字节序列,具体区别在哪呢?我们后续继续讲解;
四.猜你喜欢
- Python for 循环
- Python 字符串
- Python 列表 list
- Python 元组 tuple
- Python 字典 dict
- Python 条件推导式
- Python 列表推导式
- Python 字典推导式
- Python 函数声明和调用
- Python 不定长参数 *argc/**kargcs
- Python 匿名函数 lambda
- Python return 逻辑判断表达式
- Python 字符串/列表/元组/字典之间的相互转换
- Python 局部变量和全局变量
- Python type 函数和 isinstance 函数区别
- Python is 和 == 区别
- Python 可变数据类型和不可变数据类型
- Python 浅拷贝和深拷贝
未经允许不得转载:猿说编程 » Python bytes 函数
Python bytes 函数 - Python零基础入门教程相关推荐
- Python return逻辑判断表达式 - 零基础入门教程
目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- Python 3.X 完全零基础入门精讲 全套视频教程
简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...
- python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件
在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...
- C语言 const 修饰函数参数 - C语言零基础入门教程
C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...
- 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino
ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...
- C++零基础入门教程:基础篇(一)
前言 嘿嘿,我叕来啦─=≡Σ(((つ•̀ω•́)つ!别问我为什么突然变成了零基础入门教程(一),因为前面那三篇都是基础的不能在基础的教程了.(其实是因为顺序乱了,而且那时候没有单独弄一个专栏,后面我会 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
最新文章
- VTK:PolyData之ClosedSurface
- spring不自动下载_Spring:自动接线或不自动接线
- Replace Method with Method Object(以函数对象取代函数)
- 解决安装MarkupSafe安装 from setuptools import Feature 报错ImportError: cannot import name ‘Feature‘
- Activity启动模式和FLAG、TASKAFFINITY
- Intel最新路线图:10nm得等2017年底
- Java Web之Cookie和Session的理解
- osg 示例程序解析之osgdelaunay
- c++ 调用windows tts_有关调用约定的历史 – 第三部分
- java视频通话_Java使用WebSocket和WebRTC视频通话
- pandas实现上采样和下采样
- 小区水电费管理系统-水电费收费管理系统-社区物业水电缴费管理系统代码
- 【学习体会】泊松表面重建
- 4-Collection、List、Iterator和泛型
- linux dsdt屏蔽显卡,关于DSDT屏蔽独显的一点认识和方法
- 小米高通系列清串号打开写号端口工具_手机sn码序列号修改工具,高通串号永久写入!...
- 【无标题】scp的使用
- 【论文笔记】MultiPath: Multiple Probabilistic Anchor TrajectoryHypotheses for Behavior Prediction
- 第一章 python筑基
- python在线搭建_Jupyter在线python环境搭建