یک اسکریپت پایتون بنویسید که از یک لیست شامل اشیاء مختلف (کلاس‌ها، توابع و نمونه‌ها) فقط آن مواردی را که زیرکلاس numbers.Number یا numpy.number هستند بازگرداند.

8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:40

0.0

برای حل این مسئله از تابع builtinِ issubclass استفاده کنید؛ ابتدا با inspect.isclass یا isinstance بررسی کنید که عنصر ورودی واقعاً یک کلاس است، سپس با from numbers import Number و (در صورت در دسترس بودن) import numpy as np مقایسه کنید (مثلاً issubclass(cls, Number) یا issubclass(cls, np.number)). برای جلوگیری از خطاها از بلوک try/except استفاده کنید و در صورت نیاز هنگام اسکن ماژول‌ها از vars یا dir همراه با getattr بهره ببرید تا این کار در اسکریپت‌های اتوماسیون و تحلیل‌های عددی قابل استفاده باشد.

توسط پژوهشگر در 201 روز قبل ساعت 03:40
دسته بندی ها: Python Python for beginner
arman در 201 روز قبل ساعت 05:39

برای فیلترکردن اشیاء، ابتدا بررسی کنید که هر ورودی واقعاً یک کلاس است (با استفاده از inspect.isclass یا isinstance) تا از وقوع TypeError جلوگیری شود. سپس از issubclass با Number از ماژول numbers و در صورت وجود numpy با np.number استفاده کنید تا تنها کلاس‌هایی که زیرکلاس این نوع‌ها هستند بازگردند. اگر numpy در دسترس نیست، به‌سادگی با Number کار کنید و از بلوک‌های try/except برای مدیریت ImportError یا AttributeError استفاده کنید تا کد پایدار بماند. همچنین هنگام اسکن ماژول‌ها از getattr همراه با dir یا vars بهره ببرید تا بتوانید اشیاء پنهان یا غیرصریح را هم کشف کنید.

گزارش

1 پاسخ

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

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