در دنیای برنامه نویسی انواع داده از مسائل پایه ای و بسیار مهم است و تقریبا تمام زبانهای برنامه نویسی به نوعی از data type استفاده میکنند. متغیرها میتوانند انواع مختلفی از داده را ذخیره کنند و این انواع مختلف میتوانند کارهای مختلفی انجام دهند. زبان پایتون نیز از دیگر زبانهای برنامه نویسی جدا نیست و به صورت پیش فرض از نوع دادههای زیر پشتیبانی میکند:
- انواع متنی: تنها یک نوع str (یعنی رشته)
- انواع عددی: int (عدد صحیح) و float (عدد اعشاری) و complex (بعدا در مورد آن صحبت میکنیم)
- انواع توالی: list و tuple و range
- انواع mapping: تنها یک نوع dict
- انواع دسته: set و frozenset
- انواع Boolean: تنها مقدار bool
- انواع باینری (دودویی): bytes و bytearray و memoryview
اگر این موارد برایتان جدید است نگران نباشید. در قسمتهای بعدی به طور مفصل در مورد آن ها صحبت خواهیم کرد.
برای پیدا کردن نوع دادهی یک متغیر میتوانیم از تابع ()type استفاده کنیم:
12x = 5 print(type(x))
مقدار خروجی بدین شکل خواهد بود:
<class 'int'>
در زبان پایتون هنگامی که به متغیری مقدار بدهید، data type آن به صورت خودکار تنظیم می شود. به طور مثال:
1234567x = "Hello World" #display x: print(x) #display the data type of x: print(type(x))
خروجی این کد عبارت <'class 'str>
خواهد بود.
مثال دیگر:
1234567x = 20 #display x: print(x) #display the data type of x: print(type(x))
خروجی این کد نیز <'class 'int>
خواهد بود.
ما میتوانیم این کار را با تمامی انواع داده انجام دهیم:
123456789101112x = 20.5 x = 1j x = ["apple", "banana", "cherry"] x = ("apple", "banana", "cherry") x = range(6) x = {"name" : "John", "age" : 36} x = {"apple", "banana", "cherry"} x = frozenset({"apple", "banana", "cherry"}) x = True x = b"Hello" x = bytearray(5) x = memoryview(bytes(5))
با این حال اگر نیاز به تعیین نوع داده به صورت دستی داشته باشید، زبان پایتون توابعی با نام data typeها را برای شما آماده کرده است. به طور مثال:
1234567891011121314x = str("Hello World") x = int(20) x = float(20.5) x = complex(1j) x = list(("apple", "banana", "cherry")) x = tuple(("apple", "banana", "cherry")) x = range(6) x = dict(name="John", age=36) x = set(("apple", "banana", "cherry")) x = frozenset(("apple", "banana", "cherry")) x = bool(5) x = bytes(5) x = bytearray(5) x = memoryview(bytes(5))
اگر روی هر کدام از مثالهای بالا از تابع ((print(type(x
استفاده کنیم حتما نتیجه همان نوع دادهای خواهد بود برایش تعیین کرده ایم.
اعداد در پایتون
در زبان پایتون سه نوع عدد وجود داریم:
- int
- float
- complex
با int شروع میکنیم؛ int مخفف integer و به معنای عدد صحیح است، یعنی عدد مثبت یا منفی و بدون اعشار تا بینهایت. چند مثال را در کد زیر میبینید:
1234567x = 1 y = 35656222554887711 z = -3255522 print(type(x)) print(type(y)) print(type(z))
خروجی این کد به صورت زیر خواهد بود:
<class 'int'>
<class 'int'>
<class 'int'>
نوع دوم اعداد float است که با نام floating point number هم شناخته میشوند و در فارسی معادل اعداد اعشاری هستند؛ بنابراین اعداد منفی یا مثبت با اعشار و تا بینهایت. چند مثال را در کد زیر مشاهده میکنید:
1234567x = 1.10 y = 1.0 z = -35.59 print(type(x)) print(type(y)) print(type(z))
خروجی این کد به شکل زیر خواهد بود:
<class 'float'>
<class 'float'>
<class 'float'>
نکته: اعداد float میتوانند نماد e را نیز قبول کنند (به معنای «به توان 10»):
1234567x = 35e3 y = 12E4 z = -87.7e100 print(type(x)) print(type(y)) print(type(z))
خروجی این کد ها به شکل زیر است:
<class 'float'>
<class 'float'>
<class 'float'>
نوع سوم اعداد complex میباشد. complex در لغت به معنی «پیچیده» یا «چند وجهی» است. به این نوع اعداد در ریاضیات «عدد مختلط» یا «عدد همتافت» گفته میشود. چنانچه با این مبحث آشنایی ندارید می توانید به صفحه ی ویکی پدیای آن مراجعه کنید اما به زبان ساده:
“عدد مختلط یا عدد همتافت عددی به شکل a + bi است که a و b اعداد حقیقیاند و i یکهٔ موهومی با خصوصیت i2 = -1 است. عدد a قسمت حقیقی و عدد b قسمت موهومی نامیده و نوشته میشود. اعداد حقیقی را میتوان به عنوان اعداد مختلط با قسمت موهومی صفر در نظر گرفت، یعنی عدد حقیقی a معادل است با عدد مختلط a+0i.” منبع: ویکی پدیا
در زبان پایتون حرف j به عنوان قسمت فرضی عدد در نظر گرفته میشود. چند مثال را مشاهده کنید:
1234567x = 3+5j y = 5j z = -5j print(type(x)) print(type(y)) print(type(z))
خروجی:
<class 'complex'>
<class 'complex'>
<class 'complex'>
تبدیل نوع (type conversion)
شما میتوانید اعداد را با استفاده از توابع ()int و ()float و ()complex به نوع دادهی مورد نظر خود تبدیل کنید:
12345678910#convert integer to float x = float(1) #convert float to integer y = int(2.8) #convert integer to complex z = complex(x) print(x) print(y) print(z)
خروجی:
1.0
2
(1+0j)
<class 'float'> <class 'int'> <class 'complex'>
هشدار: شما نمیتوانید اعداد complex را به نوع عددی دیگری تبدیل کنید.
تولید عدد تصادفی
زبان پایتون تابعی به نام ()random برای تولید اعداد تصادفی ندارد اما module ای به نام random دارد که می از آن برای تولید اعداد تصادفی استفاده کنیم. ابتدا باید این module را import کرده و سپس از آن استفاده کنیم. در کد زیر میخواهیم یک عدد تصادفی بین 1 و 9 تولید کنیم:
123import random print(random.randrange(1,10))
خروجی این عدد در هر بار یک مقدار تصادفی بین 1 و 9 خواهد بود. در جلسات پایانی این دوره در مورد این module توضیحات بیشتری خواهیم داد.