برنامه نویسی ۱۴۸۹۳ بازدید

در مطلب «انواع داده در پایتون»، «انواع داده‌های» (Data Types) موجود در پایتون، مورد بررسی قرار خواهند گرفت. پیش‌تر در مطلب «زبان برنامه نویسی پایتون (Python) — از صفر تا صد» چشم‌اندازی از «زبان برنامه‌نویسی پایتون» (Python Programming Language)، شامل چیستی، دلایل محبوبیت این زبان، ویژگی‌ها، مزایا و معایب، کاربردهای پایتون، بازار کار، نسخه‌های مختلف این زبان (۲ و ۳) و چگونگی انتخاب از میان آن‌ها و تفاوت‌های این زبان با دیگر زبان‌های برنامه‌نویسی ارائه شد. سپس، در مطلبی با عنوان «پایتون برای مبتدیان — به زبان ساده» مباحث مقدماتی پایتون برای افراد مبتدی، شامل روش نصب مقدماتی و اجرای پایتون و نوشتن برنامه «!Hello World» مورد بررسی قرار گرفت.

فیلم آموزشی انواع داده در پایتون

دانلود ویدیو

در ادامه و در مطلب «کلیدواژه‌ها و شناساگرها در پایتون — به زبان ساده» به موضوع «کلمات رزرو شده» (Reserved Words)، «کلیدواژه‌ها» (Keywords) و «شناساگرها» (Identifier) پرداخته شد. پس از آن، در مطلبی با عنوان «دستورات پایتون و دندانه گذاری — به زبان ساده» روش نوشتن دستورات زبان پایتون و مفهوم «دندانه‌گذاری» (Indentation) در این زبان مورد بررسی قرار گرفت. در نهایت، در مطلب «توضیحات در پایتون — به زبان ساده»، مفهوم «توضیحات» و چگونگی نوشتن توضیحات در زبان پایتون به طور کامل شرح داده شد. در مطلب «انواع متغیرها در پایتون — به زبان ساده» مفهوم و کاربرد «متغیرها» (Variables)، «ثابت‌ها» (Constant) و «لیترال‌ها» (Literals) مورد بررسی قرار گفت. در این مطلب، انواع داده در پایتون همراه با ارائه مثال‌هایی، آموزش داده خواهند شد.

انواع داده در پایتون

هر «مقدار» (Value) در پایتون دارای یک نوع است. با توجه به اینکه در زبان برنامه‌نویسی پایتون همه چیز شی محسوب می‌شود، انواع داده در واقع کلاس هستند و متغیرها نمونه‌های (شی‌های) این کلاس محسوب می‌شوند. انواع داده مختلفی در پایتون وجود دارد. برخی از مهم‌ترین انواع داده‌ها در پایتون، در ادامه بیان شده‌اند.

اعداد در پایتون

اعداد «صحیح» (Integer)، «ممیز شناور» (Float) و «مختلط» (Complex) در دسته انواع عددی پایتون قرار می‌گیرند. این اعداد به عنوان کلاس‌های float ،int و complex در پایتون تعریف می‌شوند. می‌توان از تابع ()type برای دانستن اینکه یک متغیر یا مقدار به کدام کلاس تعلق دارد (چه نوع داده‌ای دارد)، استفاده کرد. تابع ()isinstance برای بررسی این است که آیا یک شی به یک کلاس خاص تعلق دارد یا خیر.

a = 5
print(a, "is of type", type(a))

a = 2.0
print(a, "is of type", type(a))

a = 1+2j
print(a, "is complex number?", isinstance(1+2j,complex))

اعداد صحیح می‌توانند طول‌های مختلفی داشته باشند، این مورد تنها بر اساس میزان حافظه موجود محدود شده است. یک عدد ممیز شناور تا ۱۵ رقم اعشار صحیح است. بخش صحیح و اعشاری یک عدد ممیز شناور با نقطه ممیز از یکدیگر جدا می‌شوند. اعداد مختلط به شکل x + yj نوشته می‌شوند، که در آن x بخش صحیح و y بخش موهومی است. در ادامه، مثال‌هایی در این رابطه ارائه شده است.

>>> a = 1234567890123456789
>>> a
1234567890123456789
>>> b = 0.1234567890123456789
>>> b
0.12345678901234568
>>> c = 1+2j
>>> c
(1+2j)

شایان توجه است که متغیر b که از نوع float است، «بریده» (Truncated) شده است.

لیست‌ها در پایتون

«لیست» (List) یک توالی دارای ترتیب از عناصر است. لیست یکی از انواع داده پرکاربرد در زبان برنامه‌نویسی پایتون است و انعطاف‌پذیری بالایی دارد. نیازی نیست که همه عناصر موجود در لیست از یک نوع باشند. اعلان یک لیست کار ساده‌ای است. عناصر لیست با استفاده از کاما از یکدیگر جدا می‌شوند و با استفاده از براکت محصور شده‌اند (در براکت قرار گرفته‌اند).

>>> a = [1, 2.2, 'python']

می‌توان از عملگر برش زدن [ ] برای استخراج یک عنصر یا طیفی از عناصر از یک لیست استفاده کرد. اندیس‌ها در پایتون از ۰ آغاز می‌شوند.

a = [5,10,15,20,25,30,35,40]

# a[2] = 15
print("a[2] = ", a[2])

# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])

# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])

لیست‌ها تغییر پذیر هستند. بدین معنا که مقدار عناصر یک لیست قابل جایگزینی است.

>>> a = [1,2,3]
>>> a[2]=4
>>> a
[1, 2, 4]

تاپل‌ها در پایتون

«تاپل» (Tuple) یک توالی دارای ترتیب از عناصر مانند لیست است. تنها تفاوت تاپل و لیست در این است که تاپل‌ها غیر قابل تغییر هستند. تاپل‌ها پس از آنکه ساخته شدند، قابل ویرایش نیستند. تاپل‌ها برای نوشتن داده‌های محافظت شده در مقابل نوشتن و غیر قابل تغییر، مورد استفاده قرار می‌گیرند و معمولا سریع‌تر از لیست‌ها هستند چون به صورت پویا تغییر نمی‌کنند. تاپل‌ها با استفاده از پرانتز تعریف می‌شوند و عناصر آن‌ها به وسیله کاما از یکدیگر جدا می‌شوند.

>>> t = (5,'program', 1+3j)

می‌توان از عملگر برش زدن [] برای استخراج عناصر تاپل استفاده کرد، اما نمی‌توان مقادیر آن را تغییر داد.

t = (5,'program', 1+3j)

# t[1] = 'program'
print("t[1] = ", t[1])

# t[0:3] = (5, 'program', (1+3j))
print("t[0:3] = ", t[0:3])

# Generates error
# Tuples are immutable
t[0] = 10

رشته‌ها در پایتون

«رشته» (String) یک توالی از کاراکترهای یونیکد است. می‌توان از تک علامت نقل قول انگلیسی (سینگل کوتیشن | Single Quotation) یا دابل کوتیشن (Double Quotation) برای نمایش رشته‌ها استفاده کرد. رشته‌های چند خطی با استفاده از سه کوتیشن ”’ یا “”” قابل اعلان شدن هستند.

>>> s = "This is a string"
>>> s = '''a multiline

مانند لیست و تاپل، عملگر برش‌زنی [ ] برای رشته‌ها نیز قابل استفاده است. رشته‌ها غیر قابل تغییر هستند.

s = 'Hello world!'

# s[4] = 'o'
print("s[4] = ", s[4])

# s[6:11] = 'world'
print("s[6:11] = ", s[6:11])

# Generates error
# Strings are immutable in Python
s[5] ='d'

مجموعه‌ها در پایتون

«مجموعه» (Set)، گروهی از عناصر فاقد ترتیب یکتا هستند. مجموعه به وسیله مقادیر درون کروشه {} که با کاما از یکدیگر جدا می‌شوند، تعریف می‌شود. عناصر مجموعه فاقد ترتیب هستند.

a = {5,2,3,1,4}

# printing set variable
print("a = ", a)

# data type of variable a
print(type(a))

می‌توان عملیات مجموعه‌ها مانند اتحاد و اشتراک را روی مجموعه‌ها در پایتون اجرا کرد. مجموعه دارای مقادیر یکتا است. مقادیر تکراری از مجموعه حذف می‌شوند.

>>> a = {1,2,2,3,3,3}
>>> a
{1, 2, 3}

از آنجا که عناصر مجموعه‌ها فاقد ترتیب هستند، اندیس‌گذاری هیچ معنایی ندارد. بنابراین، عملگر [] روی مجموعه‌ها کار نمی‌کند.

>>> a = {1,2,3}
>>> a[1]
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
TypeError: 'set' object does not support indexing

دیکشنری در پایتون

«دیکشنری» (Dictionary) مجموعه‌ای فاقد ترتیب از جفت‌های کلید-مقدار است. به طور کلی، از مجموعه‌ها زمانی استفاده می‌شود که حجم زیادی از داده‌ها وجود داشته باشد. دیکشنری‌ها برای بازیابی داده‌ها بهینه شده‌اند. برای بازیابی یک مقدار از دیکشنری، باید کلید آن را دانست. در پایتون، دیکشنری‌ها با {} تعریف می‌شوند و هر عنصر در آن به شکل key:value است. کلیدها و مقادیر می‌توانند از هر نوعی باشند.

>>> d = {1:'value','key':2}
>>> type(d)
<class 'dict'>

از کلیدها برای بازیابی مقادیر متناظر آن‌ها استفاده می‌شود. اما راه دیگری برای بازیابی مقادیر دیکشنری‌ها وجود ندارد.

d = {1:'value','key':2}
print(type(d))

print("d[1] = ", d[1]);

print("d['key'] = ", d['key']);

# Generates error
print("d[2] = ", d[2]);

تبدیل انواع داده در پایتون

در پایتون، می‌توان انواع داده را به یکدیگر تبدیل کرد. به این کار، «تبدیل نوع» (Type Conversion) گفته می‌شود. می‌توان تبدیل بین انواع مختلف داده‌ها را با استفاده از توابع گوناگون تبدیل نوع، مانند ()float() ،int و ()str انجام داد.

>>> float(5)
5.0

تبدیل نوع از float به int موجب بریدن مقدار می‌شود (آن را به صفر نزدیک‌تر می‌کند).

>>> int(10.6)
10
>>> int(-10.6)
-10

تبدیل از رشته و به رشته، باید حاوی مقادیر سازگار باشد.

>>> float('2.5')
2.5
>>> str(25)
'25'
>>> int('1p')
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1p'

حتی می‌توان یک توالی را به توالی دیگری تبدیل کرد.

>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

برای تبدیل کردن یک نوع به نوع داده دیکشنری، هر عنصر باید یک جفت باشد.

>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۴۳ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.