تقنية

set_defaults في argparse: هل يتجاوز القيمة المقدمة؟

argparse; --tag; default:"bud"; then set_defaults(tag="leaf"); []:"leaf"; ["--tag","bud"]:"bud"
تعديل.

set_defaults يغير الافتراضي هنا، ولا يتجاوز القيمة المقدمة. [1] [2]

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

لا؛ القيمة المقدمة تُستعمل في مثالنا. [1] [2]

  • set_defaults يغير الافتراضي هنا، ولا يتجاوز القيمة المقدمة. [1] [2]
  • على CPython 3.12.14، نضيف --tag بافتراضي "bud" ثم نستدعي set_defaults(tag="leaf")؛ فعل تخزين عادي دون type أو choices. [1] [2]
  • تحليل [] يعيد tag="leaf"؛ تحليل ["--tag","bud"] يعيد tag="bud". نستعمل مساحات أسماء جديدة. [1] [2]
  • الاستدعاء يُحدّث افتراضي الفعل الموجود هنا؛ القيمة المقدمة تُخزن عند تحليل الخيار. [1] [2]
  • تحكم بمحلل مستقل: نضيف --tag بافتراضي "bud" دون set_defaults؛ تحليل [] يعيد tag="bud". [1] [2]

الافتراضي والقيمة

set_defaults يغير الافتراضي هنا، ولا يتجاوز القيمة المقدمة. [1] [2]

ترتيب الضبط

على CPython 3.12.14، نضيف --tag بافتراضي "bud" ثم نستدعي set_defaults(tag="leaf")؛ فعل تخزين عادي دون type أو choices. [1] [2]

غياب وحضور

تحليل [] يعيد tag="leaf"؛ تحليل ["--tag","bud"] يعيد tag="bud". نستعمل مساحات أسماء جديدة. [1] [2]

import argparse own=argparse.ArgumentParser() own.add_argument("--tag",default="bud") own.set_defaults(tag="leaf") print(own.parse_args([]).tag) print(own.parse_args(["--tag","bud"]).tag) [1] [2]

argparse; independent control; --tag; default:"bud"; no set_defaults; []:"bud"
تحكم.

تحكم مستقل

الاستدعاء يُحدّث افتراضي الفعل الموجود هنا؛ القيمة المقدمة تُخزن عند تحليل الخيار. [1] [2]

control=argparse.ArgumentParser() control.add_argument("--tag",default="bud") print(control.parse_args([]).tag) [1] [2]

تحكم بمحلل مستقل: نضيف --tag بافتراضي "bud" دون set_defaults؛ تحليل [] يعيد tag="bud". [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

للتوسع: لغات البرمجة.

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