学习笔记(10):21天通关Python(视频课)-序列相关函数与封包解包

立即学习:https://edu.csdn.net/course/play/24797/282163?utm_source=blogtoedu

mylist = ['python', 'kotlin', 'swift', 'java', 'go']

字符串可比较大小,先比较第一个字符

 

print(len(mylist))=5

print(max(mylist))=swift

print(min(mylist))=go

 

s biggest in alphabet g is  the least

封装

packing/unpacking automatic

自动unpacking

mylist=[2,'python',4.2]

a,b,c=mylist

自动赋值

#所有序列包括range都支持自动解包

a,b,c,d=range(4,8) 字符串也可以

 

#只想解包某一个值,剩下可用一个带*的变量(列表)来接受

当然也可以是几个值 

first,*rest=mytuple (will print first)

first,third,*rest= mytumple (test this out)

 

多变量 同时赋值

 

#先将右边多个值封包成元组

#元组又被解包一次对3个变量赋值

a,b,c=30,‘python',3.4

 

 

 

Python 中进行通信时,需要对数据进行封包解包封包是将数据按照一定的格式打包成二进制数据,用于传输;解包则是将接收到的二进制数据还原成原始数据,方便我们进行处理。 Python 中有很多比较方便的库可以帮助我们进行封包解包,比如 `struct` 和 `pickle`。 `struct` 库可以按照指定的格式将数据打包成字节序列。常见的格式包括整数、浮点数、字符串等。例如: ```python import struct # 将整数和浮点数打包成字节序列 data = struct.pack("if", 123, 3.14) print(data) # 输出 b'{\x00\x00\x00\xcd\xcc\x0c@' # 将字节序列解包成整数和浮点数 unpacked_data = struct.unpack("if", data) print(unpacked_data) # 输出 (123, 3.140000104904175) ``` `pickle` 库可以将 Python 对象打包成二进制数据,也可以将二进制数据解包Python 对象。例如: ```python import pickle # 将 Python 对象打包成二进制数据 data = pickle.dumps({"name": "Alice", "age": 18}) print(data) # 输出 b'\x80\x04\x95\x1b\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x04name\x94\x8c\x05Alice\x94\x8c\x03age\x94K\x12u.' # 将二进制数据解包Python 对象 unpacked_data = pickle.loads(data) print(unpacked_data) # 输出 {'name': 'Alice', 'age': 18} ``` 需要注意的是,这两个库在使用时需要注意数据的类型和格式,否则会出现错误。同时,在进行通信时也需要注意网络字节序的问题,即数据的字节顺序可能会因为不同的机器而不同。常见的解决方法是使用 `htons` 和 `ntohs` 函数进行转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值