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