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

محمد رحمانیان
1402/10/02
773
انواع Data Type در پایتون

در زبان‌های برنامه نویسی مختلف، متغیرها و داده‌ها در انواع مختلفی تعریف و ذخیره می‌شوند. نوع داده یا دیتا تایپ (Data Type) نقش مهمی در اجرای صحیح پروژه و بخش‌های مختلف آن دارد. متغیرها وظیفه دارند مقدار مشخصی از نوع مشخصی از داده‌ها را در خود ذخیره کنند و در زمان مناسب، مورداستفاده قرار دهند. انواع داده ‌ها در پایتون، حدود 10 نوع متغیر را شامل می‌شود؛ به همین دلیل تصمیم گرفتیم در این مطلب، به زبان ساده Data Type در پایتون را تشریح کرده و هرکدام را به صورت جداگانه بررسی کنیم.

متغیر چیست و چطور ساخته می‌شود؟

داده ها در پایتون: متغیر چیست و چطور ساخته می‌شود؟

متغیرها، بخش‌های کوچکی از حافظه هستند که می‌توانند مقادیر مختلفی را درون خود نگهداری کنند. برای مثال، اگر یک بشقاب برنج را به عنوان داده درنظر بگیریم، هر قاشق برنج به عنوان یک متغیر درنظر گرفته می‌شود. همانطور که می‌توانید مواد غذایی دیگر نظیر نمک، ترشی و خورشت را به برنج اضافه کنید و آنها را مخلوط کنید، می‌توانید داده‌ها و متغیرهای مختلف را با یکدیگر ادغام کنید و عملیات‌های مختلفی روی آنها انجام دهید.

کد زیر، نحوه ساخت یک متغیر را نشان می‌دهد:

Var = Value

این متغیر دارای نام Var بوده و Value نیز مقدار متغیر را نشان می‌دهد. از آنجایی که پایتون یک زبان برنامه نویسی پویا (Dynamic) است؛ نیازی به تعیین نوع متغیر ندارد. بلکه مفسر با توجه به سینتکس، دیتا تایپ متغیر را تشخیص می‌دهد. البته برای تعریف متغیرهای مختلف، نیاز است علائم خاصی در زمان تعریف متغیر بنویسید تا در زمان اجرا، مفسر بتواند نوع متغیر را تشخیص دهد.

اموزش پایتون

در پایتون، می‌توان نوع متغیر را به صورت دستی تعریف کرد؛ اما این کار باعث افزایش حجم کدنویسی شده و ممکن است سرعت توسعه پروژه را تحت تاثیر قرار دهد. البته که تاثیر بسیار اندکی در افزایش سرعت اجرای کد دارد. به مثال زیر دقت کنید:

A = int(10)

در اینجا، A نام متغیر، عدد 10 مقدار متغیر و int نشان دهنده نوع متغیر (در اینجا اعداد صحیح) است.

در ادامه با انواع داده ها در پایتون و نحوه تعریف متغیر متناسب با نوع داده‌ها آشنا خواهیم شد؛ اما قبل از آن، بهتر است کمی درباره نحوه تشخیص Data Type در پایتون بدانیم.

تشخیص نوع متغیر یا دیتا تایپ ها در پایتون

تشخیص نوع متغیر یا دیتا تایپ ها در پایتون

ممکن است در برخی مواقع، نیاز داشته باشید بدانید یک متغیر از چه نوع داده تشکیل شده است. برای این کار، می‌توانید از دستور ()type در پایتون استفاده کنید. این دستور با توجه به متغیر، نوع آن را تشخیص داده و نمایش می‌دهد. برای مثال، کد زیر را مشاهده کنید:

A = 10
print(type (A))

خروجی:

<Class 'int'>

بنابراین متوجه می‌شویم مقدار 10، یک عدد صحیح است و متغیر A فقط امکان ذخیره داده‌های عددی از نوع Int را دارد.

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

داده ها در پایتون: انواع داده‌های داخلی در پایتون

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

نوع داده ویژگی‌ها نام کلاس
Integer نگهداری اعداد صحیح به طول بی‌نهایت int
Float نگهداری اعداد اعشاری تا 15 رقم اعشار float
Complex نگهداری اعداد صحیح و اعشاری به صورت مختلط complex
String نگهداری رشته‌ها، غیرقابل تغییر str
List دنباله قابل تغییر و دارای ترتیب list
Tuple دنباله غیرقابل تغییر و دارای ترتیب tuple
Set مجموعه قابل تغییر و بدون ترتیب set
FrozenSet مجموعه غیرقابل تغییر و بدون ترتیب frozenset
Dictionary نگهداری از عناصر و داده‌ها به صورت Key:Value ()dict

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

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

داده‌های عددی، یک از انواع داده ها در پایتون هستند که مقدارهای عددی را درون خود نگهداری می‌کنند. این داده ها در پایتون به سه دسته تقسیم می‌شوند:

  • اعداد صحیح یا integer
  • اعداد اعشاری یا Float
  • اعداد مختلط یا Complex

کلاس Integer شامل داده‌هایی با اعداد صحیح مثبت و منفی می‌شود. یک متغیر عددی از نوع int می‌تواند بی‌نهایت عدد صحیح را درون خود نگهداری کند. علاوه بر این، در صورتی که یک عدد اعشاری را درون یک متغیر از نوع صحیح قرار دهید، ارقام اعشاری آن قطع می‌شوند.

کلاس float برای نگهداری اعداد اعشاری تا 15 رقم اعشار مورداستفاده قرار می‌گیرد. در صورتی که یک عدد با بیشتر از 15 رقم اعشار را درون این کلاس قرار دهید، رقم به صورت گرد شده نمایش داده می‌شود.

اموزش پایتون

کلاس Copmlex نوعی از دیتا تایپ ها در پایتون است که می‌تواند اعداد صحیح و اعشاری را درون خود ذخیره کند.  نحوه تعریف این متغیر، به صورت x+yj است که مقدار x نشان دهنده اعداد صحیح و مقدارy نشان دهنده اعداد اعشاری است. علاوه بر این، در صورتی که بیش از یک عدد صحیح یا اعشاری درون آن قرار دهید، اعداد با Data Type یکسان را با یکدیگر جمع می‌کند.

مثال زیر، می‌تواند به درک بهتر این داده ها در پایتون کمک کند:

# integer Data Type
A = 10

# float Data Type
B = 5.01

# Complex Data Type
C = 2+0.5j

# Variables Printing
print(A, "and", B, "and", C)
print("A is a", type(A))
print("B is a", type(B))
print("C is a", type(C))

خروجی:

10 and 5.01 and (2+0.5j)
A is a <class 'int'>
B is a <class 'float'>
C is a <class 'complex'>

در ابتدا، سه متغیر به نام‌های A و B و C ایجاد کردیم و هرکدام را به ترتیب با اعداد صحیح، اعشاری و اعداد مختلط مقداردهی کردیم. در ادامه، همه آن‌ها را با استفاده از دستور ()print چاپ کردیم. در ادامه نیز با استفاده از دستور ()Type، نوع این داده ها در پایتون را مشاهده کردیم.

نکته مهم در زمان کار با داده‌های عددی، نحوه کار با آنها در محاسبات است. در صورتی که بخواهید یک متغیر int را با یک متغیر از نوع float جمع کنید، خروجی باید به شکل float باشد. برای این کار، می‌توانید یک متغیر سوم از نوع float تعریف کنید و حاصل جمع را درون آن بریزید. همچنین می‌توانید فرمولی به صورت B += A بنویسید تا حاصل عملیات، درون متغیر B قرار بگیرد.

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

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

نوعی دیگر از انواع data Type در پایتون، رشته است که با اسم String شناخته می‌شود. این دیتا تایپ، همه محتویات خود را به عنوان یک رشته از کاراکترهای یونیکد (Unicode) درنظر می‌گیرد. برای تعریف متغیر رشته‌ای در پایتون، باید داده‌های درون آن را بین دو کوتیشن ' یا " قرار دهید. حتی در صورت قرار دادن یک عدد درون کوتیشن، مفسر پایتون آن را به عنوان یک رشته درنظر می‌گیرد. نکته مهم درباره رشته‌ها در پایتون، تغییر ناپذیری آنها است؛ بنابراین در صورت تعریف یک متغیر از نوع String در پایتون، امکان تغییر و مقداردهی مجدد آن وجود ندارد.

در صورتی که بخواهیم یک داده را به صورت رشته و در چندین خط بنویسیم، می‌توانیم از: سه کوتیشن ”’  یا سه دبل کوتیشن””” استفاده کنیم.

# String Data Type
A = """Hello
World"""
B = "10"

# Variables Printing
print(A, "and", B)
print(A, "is a", type(A))
print(B, "is a", type(B))

در این کد، ابتدا دو متغیر به نام‌های A و B از نوع رشته در پایتون ایجاد می‌کنیم. سپس با استفاده از دستور print، ابتدا یک بار هر دو متغیر را چاپ کرده و سپس در دو خط آخر، نوع متغیرها را با دستور ()type در خروجی نمایش می‌دهیم.

Hello
World and 10
Hello
World is a <class 'str'>
10 is a <class 'str'>

همچنین می‌توانیم عناصر درون یک متغیر با Data Type رشته‌ای را با استفاده از اندیس‌ها و به صورت جداگانه فراخوانی کنیم. برای مثال، کد زیر اندیس شماره 7 از متغیر H و اندیس شماره 8 تا 15 از متغیر G را فراخوانی می‌کند.

نکته مهم: اندیس‌ها در Python از عدد 0 آغاز می‌شوند.

H = "Hello My Frined"
G = "Python Learning"
print(H[7])
print(G[7:15])

خروجی:

Y
Learning

متدهای قابل استفاده در رشته‌ها

در شرایطی، امکان استفاده از دستورات و متدهای خاصی وجود دارد که اعمال مختلفی را برای ما انجام می‌دهند. در جرول زیر، برخی متدهای مربوط به دیتا تایپ‌های رشته‌ای را مشاهده می‌کنید.

نام متد کاربرد
()strip نمایش یک کپی از رشته با حذف فضاهای خالی (WhiteSpace) از ابتدا و انتهای رشته
()capitalize نمایش یک کپی از رشته با بزرگ کردن نخستین حرف انگلیسی در آن
(count(sub پیدا کردن یک رشته در یک رشته دیگر
()lower نمایش یک کپی از رشته با تبدیل همه حروف به حروف کوچک
()upper نمایش یک کپی از رشته با تبدیل همه حروف به حروف بزرگ

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

دنباله‌ها یکی دیگر از انواع داده ها در پایتون هستند که دو کلاس را شامل می‌شوند.

  • لیست یا list
  • تاپل یا Tuple

لیست چیست؟ لیست، نوعی از داده ها در زبان پایتون است که امکان ذخیره هر نوع داده را با رعایت ترتیب دارد. رعایت ترتیب یعنی هرکدام از عناصر، دارای ادرس مشخصی به نام اندیس هستند. با استفاده از اندیس‌ها، می‌توانید عناصر یا اشیا درون لیست‌ها را به صورت تکی نمایش دهید. بنابراین تفاوتی از نظر نحوه قرارگیری اشیا درون لیست وجود ندارد؛ حتی می‌توانید درون یک لیست، تعدادی لیست دیگر نیز قرار دهید! داده‌های درون یک لیست، با استفاده از علامت کاما (,) از یکدیگر جدا می‌شوند و همگی درون کروشه [] قرار می‌گیرند. نکته مهم درباره لیست‌ها، تغییرپذیر بودن مقادیر درون آنها است. می‌توانیم با استفاده از اندیس‌ها، عناصر درون یک لیست را تغییر دهیم.

اموزش پایتون

تاپل چیست؟ تاپل‌ها، از هر نظر مشابه لیست هستند؛ با این تفاوت که اشیا درون آن قابل تغییر نبوده و درون پرانتز قرار می‌گیرند. با توجه به تغییرناپذیر بودن Tupleها، استفاده از این نوع دیتا تایپ در پایتون باعث افزایش سرعت اجرا و کاهش مصرف حافظه می‌شود؛ زیرا نیاز به تغییر ندارند و مقادیر آنها، همیشه ثابت هستند. از Tupleها برای نوشتن داده‌های محافظت شده و غیرقابل تغییر استفاده می‌شود.

قطعه کد زیر، مثالی از انواع دنباله در پایتون است:

# List Data Type
A = [1,5,10,"Hello"]

# Tuple Data Type
B = (1,11,15,"SabzLearn Academy")

# Variables Printing
print(A)
print(A[0])
print(B)
print(B[3])

خروجی:

[1, 5, 10, 'Hello']
1
(1, 11, 15, ' SabzLearn Academy')
SabzLearn Academy

در این مثال، ابتدا دو متغیر از نوع List و Tuple ایجاد کردیم و آنها را متغیرهای A و B نامیدیم. در ادامه، متغیر A را چاپ کرده و مقادیر آن را دریافت کردیم. در دستور بعد، اندیس شماره 0 از متغیر A را درخواست کردیم و مقدار 1 را دریافت کردیم. در ادامه، متغیر B که از نوع تاپل بود را چاپ کرده و از مفسر خواستیم اندیس 3 را به ما نمایش دهد.

متدهای قابل استفاده در دنباله‌ها

در جدول زیر، برخی از متدهای کاربردی که امکان استفاده در دنباله list را دارند معرفی شده است.

نام متد

کاربرد

()append یک عضو یا شی به انتهای لیست اضافه می‌کند.
()extend عضو‌ها و کاراکترهای یک شی را به انتهای لیست اضافه می‌کند.
(insert(x, y عضو جدید x را در اندیس موردنظر y قرار می‌دهد.
()remove از سمت چپ به دنبال مقدار درون آرگومان می‌گردد و اولین نتیجه صحیح را حذف می‌کند. در صورت عدم یافتن نتیجه، یک ارور نمایش داده می‌شود.
([pop([x عضو متناظر با اندیس x را حذف کرده و نمایش می‌دهد. در صورت عدم وجود x، یک ارور نمایش داده می‌شود.
()clear اشیا درون لیست را حذف می‌کند.
()del مشابه متد clear() اشیا درون لیست را حذف می‌کند.
()count تعداد وجود شی موجود در آرگومان را بررسی و نمایش می‌دهد.
()reverse اشیا موجود در لیست را به صورت برعکس و از آخر به اول نمایش می‌دهد.
()sort اشیا درون لیست را براسا نوع و مقدار، مرتب سازی می‌کند.

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

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

مجموعه‌ها، نوعی از داده ها در پایتون هستند که گروهی از داده‌ها و اشیا را بدون ترتیب خاصی در خود ذخیره می‌کنند. دو نوع مجموعه در پایتون وجود دارد.

  • کلاس Set
  • کلاس FrozenSet

کلاس ست یا Set، یکی از دیتا تایپ ها در پایتون است که در دسته بندی مجموعه‌ها قرار می‌گیرد. کلاس set با استفاده از آکولاد تعریف شده و مقادیر درون آن، نمی‌توانند تکراری باشند. در صورتی که یک عنصر تکراری درون یک متغیر از نوع Set تعریف کنید، تنها یکی از آنها را نمایش می‌دهد. از دیگر ویژگی‌های دیتا تایپ Set در پایتون می‌توان به تغییرپذیری اشاره کرد؛ البته با توجه به عدم وجود ترتیب در عناصر و اشیا درون یک Set، نمی‌توان با استفاده از اندیس‌ها این کار را انجام داد.

ست منجمد یا FrozenSet، نوع دیگری از داده‌های مجموعه‌ای است که برخلاف Set، اشیا درون آن قابل تغییر یا حذف نیستند. از این رو، سرعت اجرای بالاتری نسبت به set دارد. قطعه کد زیر، نحوه ایجاد دیتا تایپ Set و FrozenSet را نشان می‌دهد:

# Set Data Type
A = {1,50.1,"Data Types in Python",10,5.001,20,24}

# frozenset Data Type
B = frozenset((1,5,0.005,'Hello World'))

# Variables Printing
print(A)
print(B)

در اینجا، ابتدا یک متغیر به نام A از نوع سِت ساختیم و آن را مقداردهی کردیم. سپس متغیر دیگری با نام B در کلاس Frozenset ساخته و از هر دو متغیر، خروجی می‌گیریم. هربار که از مجموعه‌ها خروجی بگیرید، ترتیب متفاوتی دریافت می‌کنید.

خروجی:

{'Data Types in Python', 1, 5.001, 10, 50.1, 20, 24}
frozenset({'Hello World', 1, 5, 0.005})

متدهای قابل استفاده در مجموعه‌ها

چند متد کاربردی برای استفاده از مجموعه‌ها وجود دارد که در جدول زیر معرفی شده‌اند.

نام متد

کاربرد

()union اجتماع عناصر دو یا چند مجموعه و ساخت مجموعه جدید از اجتماع آنها
()intersection اشتراک عناصر دو یا چند مجموعه و ساخت مجموعه جدید از اشتراک آنها
()difference محاسبه تفاضل دو مجموعه
()symmetric_difference محاسبه تفاضل متقارن دو مجموعه
()issubset بررسی زیرمجموعه‌های یک مجموعه
()issuperset بررسی Superset یک مجموعه
()clear حذف همه عناصر درون یک مجموعه
()add اضافه کردن یک یا چند عنصر به مجموعه
()remove حذف کردن یک یا چند عنصر از مجموعه، در صورت عدم وجود عنصر موردنظر، یک ارور نمایش داده می‌شود.
()discard مشابه remove، در صورت عدم وجود عنصر موردنظر، هیچ اروری نمایش داده نمی‌شود.
()pop به صورت دلخواه، یکی از عناصر درون مجموعه را حذف و مقدار آن را نمایش می‌دهد. در صورت خالی بودن مجوعه، یک ارور نمایش داده می‌شود.

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

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

از نظر فنی، دیکشنری‌ها هم نوعی مجموعه به حساب می‌آیند؛ با این تفاوت که دارای ساختار متفاوتی نسبت به مجموعه‌ها هستند. مقداردهی در دیکشنری به صورت «Key:Value» انجام می‌شود و برای فراخوانی اشیا درون دیکشنری نیز، از کلید استفاده می‌شود. با توجه به نحوه مقداردهی مجموعه، مفسر پایتون Data Type آن کلاس را مشخص می‌کند؛ بنابراین به سادگی و با پیروی از روش مقداردهی «کلید:مقدار» یا همان «Key:Value» می‌توانید دیکشنری در پایتون ایجاد کنید؛ البته که امکان استفاده از متد ()dict نیز برای این کار وجود دارد. برای فراخوانی عناصر درون یک متغیر از نوع Dict، می‌توانیم از کلیدها یا دستور ()get استفاده کنیم.

کد زیر، نحوه ایجاد یک داده از نوع دیکشنری در پایتون را نشان می‌دهد:

# Dictionary Data Type
A = {'Name' : 'Mohammad', 'Age' : 18, 'Address' : "Iran"}

# Variables Printing
print(A.get('Age'))
print(A['Age'])
print(A.get('Number'))

متغیر A از نوع دیکشنری بوده و دارای سه مقدار Name و Age و Address است که مقادیر مشخصی دارند. در ابتدا، با استفاده از دستور print، از مفسر می‌خواهیم مقدار کلید Age را چاپ کند؛ یک بار با استفاده از دستور ()get و بار دیگر، بدون استفاده از آن. مزیت این دستور، در این است که اگر کلید درخواست شده، درون دیکشنری وجود نداشته باشد، مقدار None را نمایش می‌دهد؛ درست مانند دستور print(A.get('Number')). این در حالیست که در حالت عادی، کد با Syntax Error مواجه و متوقف می‌شود.

خروجی:

18
18
None

متدهای قابل استفاده در دیکشنری

در جدول زیر، برخی از مهمترین متدهای قابل استفاده در دیکشنری‌ها را شرح داده‌ایم.

نام متد کاربرد
()items نمایش تمام عناصر درون دیکشنری
()values نمایش تمام مقادیر درون دیکشنری
()keys نمایش تمام کلیدهای درون دیکشنری
()clear پاک کردن عناصر درون دیکشنری
()update تغییر مقادیر کلیدهای یکسان یک دیکشنری با یک دیکشنری دیگر که در آرگومان تعیین شده

داده‌های منطقی در پایتون

داده ها در پایتون: داده‌های منطقی در پایتون

نوعی از Data Type در پایتون، داده های منطقی تنها در یک کلاس به نام Boolean وجود دارند.  متغیرهای منطقی همواره دارای مقدار 0 یا 1 یا همان مقادیر True و False هستند و برای مقایسه مقادیر و ساخت دستورات شرطی در پایتون کاربرد دارند. برای مثال، زمانی که قصد مقایسه دو متغیر با یکدیگر را داریم، در واقع در حال استفاده از داده‌های منطقی هستیم. مثال زیر، نمونه‌ای از کاربرد داده‌های بولین در پایتون است.

A = 10
B = 9

print(A > B)
print(A == B)
print(A < B)

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

خروجی:

True
False
False

همانطور که در خروجی قابل مشاهده است، تنها دستور A > B از نظر منطقی صحیح است؛ زیرا عدد 10 از 9 بزرگتر بوده و در نتیجه، مقایسه صحیح است. در سایر دستورات، مقایسه صحیح نبوده و در نتیجه، مقدار False نمایش داده شده است.

جمع بندی

در این مطلب، با انواع داده ‌ها در پایتون و نحوه کاربرد آنها اشنا شدیم و دانستیم که در پایتونData Typeها به 6 گروه عددی، رشته‌ای، توالی یا دنباله، مجموعه‌ای، منطقی و دیکشنری تقسیم می‌شوند. همچنین نحوه ایجاد متغیرها و هرکدام از انواع داده ها در پایتون را فرا گرفته و دانستیم چطور نوع یک متغیر را با استفاده از دستور type() پیدا کنیم.

چگونه در پایتون حرفه‌ای تر شویم؟

با خواندن مقالات مختلف احتمالا بتوانید تا حدی به بخش‌های مختلف پایتون مسلط شوید اما قطعا بی‌برنامه بودن و اصولی نبودن مسیر یادگیری باعث می‌شود شما نسبت به زبان برنامه نویسی پایتون دلسرد شوید یا اینکه آن را بصورت کامل یاد نگیرید؛ اما نگران این موضوع نباشید، تیم سبزلرن برای شما آموزش صفر تا صد پایتون را بصورت کاملا رایگان قرار داده تا بتوانید به‌صورت اصولی و حرفه‌ای در زبان پایتون متخصص شوید. اما این همه ماجرا نیست!! این دوره علاوه بر رایگان بودن آن، دارای پشتیبانی انلاین نیز هست و هرکجا به هر مشکلی برخوردید، افراد متخصص در این زبان آماده پاسخگویی به اشکالات و سوالات شما هستند، چی بهتر از این؟ پس فرصت را غنیمت بشمرید و همین الان در این دوره شرکت کنید و بصورت تخصصی یادگیری خودتان را شروع کنید.

در انتها، اگر مشکلی در استفاده از داده ها در پایتون داشتید، در بخش نظرات آن را با ما به اشتراک بزارید.

اموزش پایتون

نظرات
ثبت نظر جدید

نظری برای این مقاله ثبت نشده است

آموزش پایتون