تقنية

UUID في بايثون: هل version يفحص القيمة دون تغييرها؟

الإصدار المفروض يغير القيمة
بتات محددة. [1] [2]

تحديد الإصدار في المنشئ يختلف عن فحصه. [1] [2]

الخلاصة السريعة

لا؛ وسيط version يستبدل بتات الإصدار والتخطيط في القيمة. [1] [2]

  • نستخدم المدخل الثابت int=0. [1] [2]
  • نبني a دون وسيط الإصدار. [1] [2]
  • نبني b مع version=4؛ المقارنة False. [1] [2]
  • إصدار b هو 4، وقيمته لم تعد صفرًا. [1] [2]
  • اختبرنا 3.12.14؛ لا نولد معرفًا عشوائيًا. [1] [2]

المثال

from uuid import UUID
a=UUID(int=0)
b=UUID(int=0,version=4)
print(a==b)
print(b.version)
print(b.hex)

[1] [2]

ما الذي تغير؟

المصدر هنا يضبط بتات التخطيط ثم الإصدار. المخرجات False ثم 4 ثم 00000000000040008000000000000000. بقاء a صفرًا يوضح أن التغيير في الناتج الجديد، لا الكائن السابق. [1] [2]

تكرار المدخل يكرر المعرف
ناتج ثابت. [1] [2]

النطاق

إعادة المدخل والخيار تعطي المعرف نفسه هنا. هذا ليس استدعاء uuid4، ولا دليل تفرد أو عشوائية. إذا أردت فحص قيمة مستوردة، لا تعامل فرض الإصدار عليها كإثبات أن بتاتها الأصلية كانت صحيحة. [1] [2]

المراجع

  1. Python 3.12: UUID version argument
  2. CPython 3.12.14: uuid.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.