نقارن حضور خيار الإضافة وغيابه. [1] [2]
الخلاصة السريعة
لا؛ مع append تبقى عناصر الافتراضي وتضاف القيمة بعدها. [1] [2]
المثال
import argparse as a
p=a.ArgumentParser(prog='OWN',
add_help=False)
p.add_argument('--tag',action='append',
default=['seed'])
print(p.parse_args(
['--tag','leaf']).tag)
print(p.parse_args([]).tag)أي قائمة تبدأ بها الإضافة؟
الافتراضي هنا غير فارغ؛ لذلك لا يعني حضور الخيار إلغاء seed. في المصدر، تأخذ عملية الإضافة نسخة من القائمة الحالية ثم تلحق القيمة. نسخ القائمة الخارجية لا يعني نسخ كل كائن متداخل بعمق. [1] [2]

التكرار والغياب
إذا مررنا --tag leaf --tag stone كقائمة سلاسل، نحصل على ['seed','leaf','stone']. وإذا جعلنا الافتراضي []، تكون نتيجة الحضور ['leaf']. لا نستخدم مساحة أسماء مجهزة مسبقًا أو قيمًا متداخلة في المثال. [1] [2]
المراجع
- Python 3.12: argparse append
- CPython 3.12.14: argparse.py
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
