تقنية

const في argparse: متى تختلف عن default؟

argparse; --tag; nargs:"?"; const:"leaf"; default:"bud"; []:"bud"; ["--tag"]:"leaf"; ["--tag","flower"]:"flower"
ثلاث حالات.

مع nargs="?"، حضور الخيار وحده يستعمل const هنا. [1] [2]

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

const للحضور دون قيمة؛ default للغياب هنا. [1] [2]

  • مع nargs="?"، حضور الخيار وحده يستعمل const هنا. [1] [2]
  • على CPython 3.12.14، نضيف --tag بفعل التخزين العادي، مع nargs="?" وconst="leaf" وdefault="bud"؛ دون type أو choices. [1] [2]
  • تحليل [] يعطي "bud"؛ ["--tag"] يعطي "leaf"؛ ["--tag","flower"] يعطي "flower". نستعمل مساحة أسماء جديدة لكل استدعاء. [1] [2]
  • هذا الضبط يسمح بصفر أو قيمة واحدة بعد الخيار؛ عند حضوره دون قيمة يختار المسار const. [1] [2]
  • تحكم بمحلل مستقل والخيار نفسه وnargs="?" وdefault="bud"، دون const صريح: تحليل ["--tag"] يعطي None، لا "bud". [1] [2]

حضور دون قيمة

مع nargs="?"، حضور الخيار وحده يستعمل const هنا. [1] [2]

الضبط

على CPython 3.12.14، نضيف --tag بفعل التخزين العادي، مع nargs="?" وconst="leaf" وdefault="bud"؛ دون type أو choices. [1] [2]

ثلاث حالات

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

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

argparse; independent control; --tag; nargs:"?"; default:"bud"; no explicit const; ["--tag"]:None
تحكم.

ثابت غير محدد

هذا الضبط يسمح بصفر أو قيمة واحدة بعد الخيار؛ عند حضوره دون قيمة يختار المسار const. [1] [2]

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

تحكم بمحلل مستقل والخيار نفسه وnargs="?" وdefault="bud"، دون const صريح: تحليل ["--tag"] يعطي None، لا "bud". [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

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

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