از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
پایتون: بررسی کنید که آیا متغیر یک عدد است یا خیر
سرفصلهای مطلب
معرفی
در این مقاله، چند نمونه از روش بررسی اینکه آیا یک متغیر یک عدد در پایتون است را بررسی خواهیم کرد.
پایتون به صورت پویا تایپ می شود. نیازی به تعریف نوع متغیر نیست، در حالی که آن را نمونه سازی می کند – مفسر در زمان اجرا نوع را استنباط می کند:
variable = 4
another_variable = 'hello'
علاوه بر این، یک متغیر را می توان در هر زمان معینی به نوع جدیدی اختصاص داد:
variable = 4
variable = 'four'
این رویکرد ضمن برخورداری از مزایایی، ما را با چند موضوع نیز آشنا می کند. یعنی وقتی یک متغیر را دریافت می کنیم، معمولاً نمی دانیم که از کدام نوع است. اگر ما منتظر یک عدد هستیم، اما دریافت می کنیم variable
، می خواهیم قبل از کار با آن بررسی کنیم که آیا عددی است یا خیر.
با استفاده از تابع type().
این type()
تابع در پایتون نوع آرگومانی را که به آن پاس می دهیم برمی گرداند، بنابراین یک تابع مفید برای این منظور است:
myNumber = 1
print(type(myNumber))
myFloat = 1.0
print(type(myFloat))
myString = 's'
print(type(myString))
این منجر به:
<class 'int'>
<class 'float'>
<class 'str'>
بنابراین، یک راه برای بررسی نوع این است:
myVariable = input('Enter a number')
if type(myVariable) == int or type(myVariable) == float:
else:
print('The variable is not a number')
در اینجا، بررسی می کنیم که آیا نوع متغیر وارد شده توسط کاربر an است int
یا الف float
، در صورت وجود برنامه با آن ادامه دهید. در غیر این صورت، به کاربر اطلاع می دهیم که یک متغیر غیر Number وارد کرده است. لطفاً به خاطر داشته باشید که اگر در حال مقایسه با چندین نوع هستید، مانند int
یا float
، شما باید استفاده کنید type()
عملکرد هر دو بار
اگر فقط گفتیم if type(var) == int or float
، که به ظاهر خوب است، یک مشکل ایجاد می شود:
myVariable = 'A string'
if type(myVariable) == int or float:
print('The variable a number')
else:
print('The variable is not a number')
این بدون در نظر گرفتن ورودی، برمیگرداند:
The variable is a number
این به این دلیل است که پایتون وجود دارد ارزش های حقیقت از بیانیه ها متغیرها در پایتون را می توان به عنوان ارزیابی کرد True
بجز False
، None
، 0
و ظروف خالی مانند ()
، {}
، set()
، ()
، ''
یا ""
.
از این رو وقتی می نویسیم or float
در ما if
شرط، معادل نوشتن است or True
که همیشه به ارزیابی خواهد شد True
.
اعداد.شماره
یک راه خوب برای بررسی اینکه آیا یک متغیر یک عدد است یا خیر numbers
مدول. شما می توانید بررسی کنید که آیا متغیر یک نمونه است Number
کلاس، با isinstance()
تابع:
import numbers
variable = 5
print(isinstance(5, numbers.Number))
این منجر به:
True
توجه داشته باشید: این رویکرد می تواند به طور غیرمنتظره ای با انواع عددی خارج از هسته پایتون رفتار کند. برخی از فریم ورک ها ممکن است غیر ازNumber
پیاده سازی عددی، که در این صورت این رویکرد به اشتباه باز خواهد گشت False
.
با استفاده از بلوک try-except
روش دیگر برای بررسی اینکه آیا یک متغیر عددی است یا خیر، استفاده از بلوک try-except است. در بلوک try، متغیر داده شده را به an ریخته ایم int
یا float
. اجرای موفقیت آمیز try
بلوک به این معنی است که یک متغیر یک عدد است int
یا float
:
myVariable = 1
try:
tmp = int(myVariable)
print('The variable a number')
except:
print('The variable is not a number')
این برای هر دو کار می کند int
و float
زیرا شما می توانید یک بازیگر را انتخاب کنید int
به float
و الف float
به یک int
.
اگر به طور خاص فقط می خواهید بررسی کنید که آیا یک متغیر یکی از این موارد است، باید از آن استفاده کنید type()
تابع.
نتیجه
پایتون یک زبان تایپ پویا است، به این معنی که ممکن است نوع داده ای متفاوت از آنچه انتظار داریم دریافت کنیم.
در مواردی که میخواهیم انواع دادهها را اعمال کنیم، باید بررسی کنیم که آیا متغیری از نوع دلخواه است یا خیر. در این مقاله، ما به سه روش برای بررسی اینکه آیا یک متغیر یک عدد در پایتون است، پرداخته ایم.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-16 12:25:05