Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โครงสร้างโมดูลใน Python


ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับ โครงสร้าง โมดูล. มาดำดิ่งสู่บทแนะนำกันเลย

โมดูล โครงสร้าง ใช้สำหรับแปลงประเภทข้อมูลดั้งเดิมของ Python เป็น สตริงไบต์ และในทางกลับกัน. เราไม่ต้องติดตั้ง เป็นโมดูลในตัวที่มีให้ใน Python3 .

โมดูล struct เกี่ยวข้องกับภาษา C เราต้องรู้สัญกรณ์ที่ใช้ใน C เพื่อแสดงข้อมูลประเภทต่างๆ เพื่อทำงานกับ struct โมดูล. มาดูกันบ้าง

ประเภทข้อมูล รูปแบบตัวละคร
int ฉัน
แผนภูมิ c
สตริง s
ลอย f

มาดูวิธีการแปลงประเภทข้อมูล Python เป็นไบต์กัน

struct.pack()

เมธอด struct.pack() ใช้ในการแปลงชนิดข้อมูลเป็นไบต์ ต้องใช้หลายอาร์กิวเมนต์ตามสตริงแรก

เราต้องส่งสตริงแรกที่มีอักขระรูปแบบตามที่กล่าวไว้ในตารางด้านบน เราสามารถส่งข้อโต้แย้งใด ๆ ตามที่เราต้องการ มาดูตัวอย่างกัน

  • struct.pack('14s i', b'Tutorialspoint', 2020)
  • struct.pack('i i f 3s', 1, 2, 3.5, b'abc')

มาแปลงตัวอย่างด้านบนเป็นไบต์กันเถอะ

ตัวอย่าง

# importing the struct module
import struct
# converting into bytes
print(struct.pack('14s i', b'Tutorialspoint', 2020))
print(struct.pack('i i f 3s', 1, 2, 3.5, b'abc'))

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

b'Tutorialspoint\x00\x00\xe4\x07\x00\x00'
b'\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00`@abc'

struct.unpack()¶

เรามีวิธีอื่น struct.unpack() ที่แปลงไบต์เป็นชนิดข้อมูล Python ดั้งเดิม ต้องใช้สองอาร์กิวเมนต์ อาร์กิวเมนต์แรกคล้ายกับ pack() วิธีและอันที่สองเป็นผลมาจาก struct.pack() วิธีการ

เมธอด struct.unpack() คืนค่า tutple เสมอ

ตัวอย่าง

# importing the struct module
import struct
# converting into bytes
converted_bytes = struct.pack('14s i', b'Tutorialspoint', 2020)
# converting into Python data types
print(struct.unpack('14s i', converted_bytes))

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

(b'Tutorialspoint', 2020)

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น