💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ مهدی مظلوم
استفاده از action
محمدعلی رضا حل شده توسط محمدعلی رضا

سلام و خسته نباشید

استاد در هنگام ادد کردن آرگیومنت‌ها از action استفاده کرد و مقدار store_true رو اضافه کرد

من متوجه نشدم چرا این مقدار رو داد !

سلاااااااااااااااااااام مهدی جان

خدا قوت

تو داکیومنت argparse توضیح داده که این action چه کاربرد و تاثیری داره.

argparse document - action

 

پیشنهادم اینه که اول با استفاده از سرچ یا لینک بالا که داکیومنت خود argparse هست یادبگیری که وقتی action رو مساوی با store_true میکنیم چه اتفاقی میوفته. بعد هم میتونی با چند بار دیدن اون قسمت از ویدیو که استاد این قضیه رو دارن توضیح دادن بفهمی که چرا این کار رو کردن.

من جواب سوالت رو همین جا میدم ولی برای پیشرفت خودت و بخاطر خودت توصیه میکنم که از راه هایی که گفتم بفهمی چرا این مقدار رو دادن. سرچ کردن و خودن داکیومنت برای رسیدن به جواب یکی از اصلی‌ترین کارهای ما برنامه نویس هاست.

 

با قرار دادن action مساوی store_true برای یه آرگیومنت. ما داریم میگیم که اگر کاربر این ارگیومنت رو وارد کرد مقدار این آرگیومنت رو مساوی True در نظر بگیر. در غیر این صورت مقدار این آرگیومنت False باشه.

مثال:

parser.add_argument('-u', '--upper', help='use upper case', action='store_ture')

ما با این دستور بالا آرگیومنت

-u یا --upper

رو اضافه کردیم و الان اگر کاربر با دستور زیر:

python main.py -u

یا دستور

python main.py --upper

 فایل main.py رو اجرا کنه. ما تو فایل main,py بعد از دستور

args = parser.parse_args()

میتونیم به روش‌های زیر مقدار این آرگومان رو بگیریم.

upper = args.upper
# or
upper = args.u

که الان مقدارش True هست چون این آرگومان رو وقت اجرا فایل وارد کردیم و اگر وارد نمیکردیم الان مقدارش False می‌بود.

 

امیدوارم کامل و واضح جواب سوالتون رو داده باشم.

اگر باز سوالی داشتی در خدمتم :)

بهترین پاسخ
محمدعلی رضا ۱۱ تیر ۱۴۰۰، ۰۵:۴۵

کاملا متوجه شدم و یه سری به داکیومنتی که گفتید زدم ، ممنون

مهدی مظلوم ۱۱ تیر ۱۴۰۰، ۱۲:۵۹