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 可变的字节序列,具体区别在哪呢?我们后续继续讲解;

四.猜你喜欢

  1. Python for 循环
  2. Python 字符串
  3. Python 列表 list
  4. Python 元组 tuple
  5. Python 字典 dict
  6. Python 条件推导式
  7. Python 列表推导式
  8. Python 字典推导式
  9. Python 函数声明和调用
  10. Python 不定长参数 *argc/**kargcs
  11. Python 匿名函数 lambda
  12. Python return 逻辑判断表达式
  13. Python 字符串/列表/元组/字典之间的相互转换
  14. Python 局部变量和全局变量
  15. Python type 函数和 isinstance 函数区别
  16. Python is 和 == 区别
  17. Python 可变数据类型和不可变数据类型
  18. Python 浅拷贝和深拷贝

未经允许不得转载:猿说编程 » Python bytes 函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天凌晨,AWS一口气又双叒叕发布了N个新服务

【CSDN记者美国拉斯维加斯现场报道】在北京时间今天凌晨刚刚结束的AWS re&#xff1a;invent 2018的Keynote上&#xff0c;在AWS CEO Andy Jassy长达2个半小时的主题演讲中&#xff0c;AWS一口气又宣布推出了N项新服务&#xff0c;范围涉及存储、文件系统、集中管理、安全、数据…

SQL约束攻击

主要知识点 数据库字符串比较&#xff1a;在数据库对字符串进行比较时&#xff0c;如果两个字符串的长度不一样&#xff0c;则会将较短的字符串末尾填充空格&#xff0c;令两个字符串的长度一致&#xff0c;比如&#xff0c;字符串A:[String]和字符串B:[String2]进行比较时&am…

Python filter 函数 - Python零基础入门教程

目录 一.Python filter 函数简介二.Python filter 函数使用 1.filter 函数简单使用2.filter 函数配合匿名函数 Lambda 使用 三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python filter 函数简介 filter 函数主要用来筛选数据&#…

AI应届博士生年薪八十万,贵吗?

前一段时间&#xff0c;“AI 应届博士生年薪 80 万元”上了微博热搜。这条热搜上的很莫名其妙&#xff0c;从行业本身来说&#xff0c;AI 行业的人才薪资确实高于一般行业。猎聘联合 GMIC 发布的《 2018 AI 人才竞争力报告》指出&#xff0c;AI 领域从业者平均薪资高于互联网行…

Python raw_input 函数 - Python零基础入门教程

目录 一.前言二.Python input 和 raw_input 区别 1.当输入为纯数字时2.当输入字符串为表达式 三.Python input 函数实现原理四.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 Python 2.x 版本中才有内置函数 raw_input 和 input 两…

BugkuCTF-PWN题pwn2-overflow超详细讲解

解题思路 1&#xff09;计算出get_shell_的地址偏移量 2&#xff09;算出来之后就直接溢出到后门函数 知识点 x64函数调用规则 解题之前我们先学下linux x64的函数调用规则。 x64机器在调用某个函数前&#xff0c;比如int func(int a, int b, int c, int d, int e, int f, …

云漫圈 | 革命版互联网公司虐恋大戏,周一拿去怼业务!

周末&#xff0c;来几张逗逼的漫画醒醒神~&#xff01;程序员/设计师/产品经理相爱相杀的「革命版互联网公司虐恋大戏」温情上映~1.微信群&#xff1a;添加小编微信&#xff1a;color_ld&#xff0c;备注“进群姓名公司职位”即可&#xff0c;加入【云计算学习交流群】&#xf…

BugkuCTF-PWN题pwn3-read_note超详细讲解

知识点 puts()的特性 , puts()会一直输出某地址的数据,直到遇到 \x00 Canary最低位为\x00(截断符) \x 和 0x 的区别&#xff1a; 区别不大&#xff0c;都是把数按16进制输出。 1、0x 表示整型数值 &#xff08;十六进制&#xff09; char c 0x42; 表示的是一个数值(字母B的…

Python bytearray 函数 - Python零基础入门教程

目录 一.Python bytearray 函数简介二.Python bytearray 函数使用三.bytearray 与 bytes 区别 1. bytes 不可变字节序列2.bytearray 可变字节序列 四.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 Python 除了 bytes 字节序列 之外&#xf…

文末有福利 | 停不下来!程序员在GitHub上开源了一个自制表情包项目

世界上本没有表情包&#xff0c;脑洞大的人多了&#xff0c;便有了表情包&#xff0c;如今&#xff0c;大家伙聊天都离不开表情包&#xff0c;但是手头上很多时候表情包根本不够用&#xff0c;所以市面上就有很有App、小程序可以帮助你制作专属你的表情包而程序员在这方面就有个…

BugkuCTF-Crypto题把猪困在猪圈里

下载file.txt文件 在给的内容头部添加data:image/jpg;base64, 将base64编码转为图片 然后下载图片&#xff1a; 百度猪圈密码&#xff0c;得到flag 注意&#xff1a;猪圈密码flag小写

面趣 | 那些面试没过的程序员,都去了哪里?答案真的挺励志

年底又到裁员季&#xff0c;那些还在挣扎着找工作的小伙伴&#xff0c;现在怎么样了&#xff1f;很好奇&#xff0c;那些没有面试成功的朋友最后都去了哪里&#xff1f;尤其是程序员这一庞大群体。有人给出的答案是&#xff0c;不存在“没有通过一个公司的面试&#xff0c;那以…

dos输入java Hello,出现错误: 找不到或无法加载主类 Hello

分析&#xff1a;classpath没有配置正确&#xff0c;在最前面加上.; 备注&#xff1a;英文的点和分号 重新cmd进去&#xff0c;输java Hello&#xff0c;解决。

Python chr 函数 - Python零基础入门教程

目录 一.Python chr 函数简介二.Python chr 函数使用三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python chr 函数简介 在 Python中 ord 函数可以字符作为参数&#xff0c;返回对应的 ascll 码&#xff1b; 其中内置函数 chr 与…

BugkuCTF-Crypto题贝斯家

密文&#xff1a;iH<,{bdR2H;i6*Tm,Wx2izpx2! 本题要点&#xff1a;base91转码 看到贝斯家… 那么这串字符一定为BASE系列的了 常见的都是base64/base32/base16…和这串字符好像都不太形似 base91的编码原理 base91是将二进制数据编码为ASCII字符的高级方法。 它类似于UUe…

web前端 到底怎么学?掌握什么可以拿到高薪?

web前端到底怎么学&#xff1f;那么在讲 web前端怎么学 这个大命题之前呢&#xff0c;依据我本人的尿性&#xff0c;还是得先把你拉入坑&#xff0c;让你在坑里好好学 O(∩_∩)Oweb前端的历史渊源 和一些出处&#xff0c;童鞋们大概都有所了解了。下面我们进入【相爱】阶段&…

Python reduce 函数 - Python零基础入门教程

目录 一.Python reduce 函数简介 1.reduce 函数语法2.reduce 函数原理 二.Python reduce 函数使用 1.reduce 函数普通使用2.reduce 函数配合匿名函数使用3.reduce 函数设置可选参数 initial 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入…

标识符命名规则

规则&#xff1a;可以由大小写字母&#xff0c;下划线&#xff08;_&#xff09;&#xff0c;$组成&#xff0c;不能由数字&#xff0c;非法字符#&#xff0c;-&#xff0c;\等组成 比喻String 12abc"s"; String -a"d"; String #g"F"; 三者都…

BugkuCTF-Crypto题缝合加密

下载文件&#xff0c;打开 fence:栅栏 看组成规律&#xff0c;很明显和键盘有关系&#xff0c;但是第一租的qwedc既不能组成一个字母或数字&#xff0c;也没有围住一个字母或者数字&#xff0c;但是结合前面提到的pig&#xff0c;推测这里是猪圈密码 第一组的qwedc对应的是 …

Python locals 函数 - Python零基础入门教程

目录 一.locals 函数语法二.locals 函数使用三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.locals 函数语法 Python 内置函数 locals 比较简单&#xff0c;直接以字典 dict 的形式返回当前位置的所有局部变量&#xff0c;语法如下&…