تقنية

append_const في argparse: أي ترتيب تتبعه القائمة؟

ترتيب المدخل؛ argparse; action:append_const; dest:tag; definitions:--bud,const:"bud" then --leaf,const:"leaf"; input:["--leaf","--bud"]; tag:["leaf","bud"]
مدخل.

القائمة تتبع ترتيب تقديم الرايات هنا. [1] [2]

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

ترتيب المدخل هنا، لا ترتيب تعريف الخيارين. [1] [2]

  • القائمة تتبع ترتيب تقديم الرايات هنا. [1] [2]
  • على CPython 3.12.14، نعرّف --bud قبل --leaf بفعل append_const وثابتي bud وleaf، وdest="tag" مشترك؛ بلا افتراضي صريح أو namespace جاهز. [1] [2]
  • تحليل ["--leaf","--bud"] يعطي tag=["leaf","bud"]؛ أول ثابت في الناتج يخص أول راية مقدمة. [1] [2]
  • كل راية تلحق const بقائمة الوجهة؛ مسار التحليل يعالج الخيارات بحسب مواضعها هنا. لا نمرر قيمًا بعد الرايات. [1] [2]
  • تحكم بمحلل مستقل وبترتيب التعريف نفسه: ["--bud","--leaf"] يعطي tag=["bud","leaf"]؛ نغيّر المدخل ونستعمل مساحة أسماء جديدة. [1] [2]

ترتيب التقديم

القائمة تتبع ترتيب تقديم الرايات هنا. [1] [2]

وجهة مشتركة

على CPython 3.12.14، نعرّف --bud قبل --leaf بفعل append_const وثابتي bud وleaf، وdest="tag" مشترك؛ بلا افتراضي صريح أو namespace جاهز. [1] [2]

راية ثانية تُقدّم أولًا

تحليل ["--leaf","--bud"] يعطي tag=["leaf","bud"]؛ أول ثابت في الناتج يخص أول راية مقدمة. [1] [2]

import argparse own=argparse.ArgumentParser() own.add_argument("--bud",action="append_const",const="bud",dest="tag") own.add_argument("--leaf",action="append_const",const="leaf",dest="tag") ns=own.parse_args(["--leaf","--bud"]) print(ns.tag) [1] [2]

تحكم مستقل؛ argparse; action:append_const; dest:tag; definitions:--bud,const:"bud" then --leaf,const:"leaf"; input:["--bud","--leaf"]; tag:["bud","leaf"]
معكوس.

عكس المدخل

كل راية تلحق const بقائمة الوجهة؛ مسار التحليل يعالج الخيارات بحسب مواضعها هنا. لا نمرر قيمًا بعد الرايات. [1] [2]

control=argparse.ArgumentParser() control.add_argument("--bud",action="append_const",const="bud",dest="tag") control.add_argument("--leaf",action="append_const",const="leaf",dest="tag") cns=control.parse_args(["--bud","--leaf"]) print(cns.tag) [1] [2]

تحكم بمحلل مستقل وبترتيب التعريف نفسه: ["--bud","--leaf"] يعطي tag=["bud","leaf"]؛ نغيّر المدخل ونستعمل مساحة أسماء جديدة. [1] [2]

المراجع

  1. Python argparse
  2. CPython argparse

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

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