تقنية

subnet_of في بايثون: هل يستبعد تطابق الشبكتين؟

اختبار الشبكة مع نفسها يعطي True
التطابق. [1] [2]

اسم الطريقة لا يفرض شبكة أصغر. [1] [2]

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

لا؛ subnet_of يقبل تطابق الشبكة في مثالنا. [1] [2]

  • عرفنا a بوصفها 192.0.2.0/24. [1] [2]
  • a.subnet_of(a) يعطي True. [1] [2]
  • الشبكة b ذات /25 داخل a؛ النتيجة True. [1] [2]
  • الاتجاه العكسي a.subnet_of(b) يعطي False. [1] [2]
  • نفحص IPv4 في 3.12.14، دون اتصال شبكي. [1] [2]

المثال

from ipaddress import IPv4Network
a=IPv4Network("192.0.2.0/24")
b=IPv4Network("192.0.2.0/25")
print(a.subnet_of(a))
print(b.subnet_of(a))
print(a.subnet_of(b))

[1] [2]

احتواء يشمل المساواة

المصدر يقارن بداية النطاق ونهايته بعلامتي <= و>=. مساواة الطرفين لا تمنع النتيجة؛ لذلك الاحتواء هنا لا يشترط اختلاف الشبكتين. [1] [2]

الشبكة الأصغر داخل الأكبر والعكس False
الاتجاه يهم. [1] [2]

النطاق

المخرجات True وTrue وFalse. شبكة /24 هنا أوسع من /25؛ ليست محتواة فيها بالعكس. الكائنان وصفان حسابيان لشبكتين؛ لا نكتشف أجهزة أو نغير إعدادات شبكة. [1] [2]

المراجع

  1. Python 3.12: network containment
  2. CPython 3.12.14: inclusive subnet boundaries
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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

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