یک دکوراتور به نام ensure_float_array با استفاده از functools.wraps بنویسید که آرگومان‌های موقعیتی و کلیدیِ ورودی را اگر لیست یا تاپل باشند به numpy.ndarray با dtype=float64 تبدیل کند و شکل (shape) هر آرایه را قبل از اجرای تابع چاپ کند.

3.0 بازدید آخرین ویرایش در 223 روز قبل ساعت 01:04

0.0

برای پیاده‌سازی از from functools import wraps استفاده کنید تا نام و داک‌استرینگ تابع اصلی حفظ شود؛ سپس درون دکوراتور آرگومان‌ها (args, kwargs) را پیمایش کرده و با numpy.asarray(x, dtype=np.float64) موارد لیست/تاپل را به آرایه تبدیل کنید و با x.shape یا np.shape شکل را چاپ کنید. نکات: آرایه‌های numpy را مجدداً تبدیل نکنید، ورودی‌های غیرقابل‌تبدیل را دست‌نخورده بگذارید و برای توسعه می‌توانید لاگ‌برداری را به فایل هدایت کنید تا در اسکریپت‌های اتوماسیون یا محاسبات عددی مفید باشد.

توسط پژوهشگر در 223 روز قبل ساعت 01:04
دسته بندی ها: Python Python for beginner
sara در 223 روز قبل ساعت 14:47

برای حفظ نام و داک‌استرینگ تابع اصلی، از functools.wraps استفاده کنید. در دکوراتور، args و kwargs را پیمایش کرده و فقط اگر مقدار آنها list یا tuple باشند با numpy.asarray(x, dtype=np.float64) به آرایه تبدیل کنید؛ سایر ورودی‌ها دست‌نخورده باقی بمانند. قبل از اجرای تابع، شکل(shape) هر آرایه را چاپ کنید و اگر ورودی ndarray بود دوباره تبدیل نشود. برای توسعه‌پذیری بهتر است لاگ‌برداری خروجی‌ها را به فایل هدایت کنید تا در اسکریپت‌های اتوماسیون یا محاسبات عددی مفید باشد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری