روش صحیح برای بررسی نوع داده در پایتون چیست؟
What\'s the canonical way to check for type in Python?
در پایتون، چه روشهای معتبری برای بررسی نوع دادهها وجود دارد؟
برای بررسی نوع دادهها در پایتون، چندین روش معتبر وجود دارد که بسته به نیاز شما میتوانید از آنها استفاده کنید:
- استفاده از تابع type():
سادهترین و رایجترین روش برای بررسی نوع یک شی استفاده از تابع type() است. این تابع نوع دادهای که به آن داده میشود را برمیگرداند.
my_var = 42 if type(my_var) == int: print("my_var is an integer"
این روش ممکن است در برخی موارد نیاز به تغییر در کد شما داشته باشد، به ویژه زمانی که میخواهید از چندین نوع داده پشتیبانی کنید.
- استفاده از تابع isinstance():
تابع isinstance() یک روش انعطافپذیرتر برای بررسی نوع دادهها است. این تابع بررسی میکند که آیا شیء مورد نظر از نوع مشخصشده است یا خیر. همچنین میتوانید از آن برای بررسی این که آیا یک شیء از یک کلاس خاص یا یک زیرکلاس آن است استفاده کنید.
my_var = 42 if isinstance(my_var, int): print("my_var is an integer"))
این روش بهویژه مفید است زمانی که با وراثت در کلاسها سروکار دارید و میخواهید مطمئن شوید که شیء مورد نظر از نوع یا زیرنوع مشخصی است.
- استفاده از issubclass():
در مواقعی که نیاز دارید بررسی کنید آیا یک کلاس زیرکلاس دیگری است، میتوانید از issubclass() استفاده کنید. این تابع بررسی میکند که آیا کلاس اول زیرکلاس کلاس دوم است یا خیر.
class Animal: pass class Dog(Animal): pass print(issubclass(Dog, Animal)) # output: True
این روش بیشتر برای بررسی روابط بین کلاسها کاربرد دارد تا برای بررسی نوع دادههای ساده.
در مجموع، isinstance() معمولاً بهترین روش برای بررسی نوع دادههاست، چرا که انعطافپذیری بیشتری نسبت به type() دارد و میتواند با وراثت در کلاسها به خوبی کار کند.