انواع داده در پایتون مشخص میکنند که مقادیر مختلف چگونه ذخیره و پردازش شوند. این زبان از انواع متعددی مانند اعداد، رشتهها، لیستها، تاپلها، مجموعهها و دیکشنریها پشتیبانی میکند که هرکدام ویژگیها و کاربردهای خاص خود را دارند. نوع دادهها بهطور خودکار بر اساس مقدار انتسابیافته تعیین میشود، اما در صورت نیاز میتوان آنها را به یکدیگر تبدیل کرد. این تنوع و انعطافپذیری، پایتون را به زبانی قدرتمند برای پردازش دادهها تبدیل کرده است.
مقدمه
انوع داده در پایتون به معنای دستهبندی یا طبقهبندی دادهها هستند. این نوع دادهها نشاندهنده نوع مقداری هستند که مشخص میکند چه عملیاتی میتوان بر روی آن داده انجام داد. از آنجا که در برنامهنویسی پایتون همه چیز یک شیء است، نوع داده در پایتون بهصورت کلاس تعریف شدهاند و متغیرها نمونههایی (اشیا) از این کلاسها هستند. انواع استاندارد یا داخلی دادهها در پایتون عبارتاند از:
- عددی (Numeric): شامل int ، float و complex
- نوع دنبالهای (Sequence Type): شامل string ، list و tuple
- نوع نگاشتی (Mapping Type): شامل dict
- بولی (Boolean): شامل bool
- نوع مجموعهای (Set Type): شامل set و frozenset
- نوع باینری (Binary Types): شامل bytes ، bytearray و memoryview
این کد متغیر x را با مقادیر مختلفی از انواع مختلف داده در پایتون مقداردهی میکند. این مقادیر شامل رشته «string»، عدد صحیح «integer»، عدد اعشاری «float»، عدد مختلط «complex»، لیست «list»، تاپل «tuple»، بازه «range»، دیکشنری «dictionary»، مجموعه «set»، مجموعهی غیرقابل تغییر «frozenset»، بولی «boolean»، بایت «bytes»، بایتآرایه «bytearray»، نمای حافظه «memoryview»، و مقدار ویژه None هستند. هر بار مقداردهی جدید، مقدار قبلی x را جایگزین میکند و باعث میشود که x نوع داده و مقدار جدید مربوط به آخرین مقداردهی را بگیرد.
x = "Hello World" x = 50 x = 60.5 x = 3j x = ["program", "for", "program"] x = ("program", "for", "program") x = range(10) x = {"name": "Suraj", "age": 24} x = {"program", "for", "program"} x = frozenset({"program", "for", "program"}) x = True x = b"program" x = bytearray(4) x = memoryview(bytes(6)) x = None
۱- نوع داده ای عددی در پایتون
انواع دادهی عددی در پایتون مقادیری را نشان میدهند که ماهیت عددی دارند. این مقادیر میتوانند شامل اعداد صحیح، اعداد اعشاری یا اعداد مختلط باشند. این مقادیر به ترتیب با کلاسهای int، float و complex در پایتون تعریف میشوند.
اعداد صحیح (Integers)
این مقدار توسط کلاس int نمایش داده میشود و شامل اعداد صحیح مثبت یا منفی (بدون اعشار) است. در پایتون، محدودیتی برای طول اعداد صحیح وجود ندارد.
اعداد اعشاری (Float)
این مقدار توسط کلاس float نمایش داده میشود. یک عدد اعشاری، عددی واقعی با نمایش نقطه شناور است که با یک نقطه اعشار مشخص میشود. بهصورت اختیاری، از کاراکتر e یا E بههمراه یک عدد صحیح مثبت یا منفی برای نمایش علمی استفاده میشود.
اعداد مختلط (Complex Numbers)
یک عدد مختلط توسط کلاس complex نمایش داده میشود. این نوع عدد بهصورت (قسمت حقیقی) + (قسمت موهومی)j مشخص میشود. برای مثال: ۲+3j
مثال:
این کد نشان میدهد که چگونه میتوان با استفاده از تابع ()type نوع دادهای متغیرها را در پایتون مشخص کرد. دادههای مربوط به سه متغیر: a (عدد صحیح)، b (عدد اعشاری)، و c (عدد مختلط) را نمایش میدهد. خروجی نوع دادهای هر متغیر را بهطور جداگانه نشان میدهد.
a = 5 print("Type of a: ", type(a)) b = 5.0 print("\nType of b: ", type(b)) c = 2 + 4j print("\nType of c: ", type(c))
خروجی:
Type of a: <class 'int'> Type of b: <class 'float'> Type of c: <class 'complex'>
۲- نوع داده های ترتیبی در پایتون
انواع داده ترتیبی در پایتون، مجموعهای مرتب از دادههای مشابه یا متفاوت هستند. این نوع دادهها امکان ذخیره مقادیر متعدد را به صورت سازمانیافته و کارآمد فراهم میکنند. در پایتون، چند نوع دادهای ترتیبی وجود دارد:
- رشتهها (Python String)
- لیستها (Python List)
- تاپلها (Python Tuple)
نوع داده های رشته (String Data Type)
رشتهها در پایتون آرایههایی از بایتها هستند که کاراکترهای یونیکد را نمایش میدهند. یک رشته مجموعهای از یک یا چند کاراکتر است که داخل کوتیشنهای تک، دوگانه یا سهگانه قرار میگیرند. در پایتون، نوع دادهای مشخصی برای کاراکترها وجود ندارد و یک کاراکتر به عنوان رشتهای با طول یک شناخته میشود. رشتهها توسط کلاس str تعریف میشوند. و با استفاده از علامت نقلقول تک ( ‘ ) یا نقلقول دوتایی ( ” ) نمایش داده میشوند
ایجاد رشتهها: رشتهها در پایتون میتوانند با استفاده از کوتیشنهای تک، دوگانه یا سهگانه ایجاد شوند.
مثال:
این کد پایتون روشهای مختلف ایجاد رشتهها را نشان میدهد. با استفاده از کوتیشنهای تک، دوگانه و سهگانه رشتههایی با محتوای مختلف ایجاد میکند. همچنین یک رشته چندخطی را نمایش میدهد. در ادامه، رشتهها چاپ و نوع دادهای آنها بررسی میشود.
s1 = 'Welcome to the program World' print("String with Single Quotes: ", s1) # check data type print(type(s1)) s2 = "I'm a program" print("String with Double Quotes: ", s2) s3 = '''I'm a program and I live in a world of "program"''' print("String with Triple Quotes: ", s3) s4 = '''program For Life''' print("Multiline String: ", s4)
خروجی:
String with Single Quotes: Welcome to the program World <class 'str'> String with Double Quotes: I'm a program String with Triple Quotes: I'm a program and I live in a world of "program" Multiline String: P...
دسترسی به عناصر رشته در پایتون
در برنامهنویسی پایتون، کاراکترهای منفرد یک رشته میتوانند با استفاده از روش ایندکسگذاری دسترسی پیدا کنند. ایندکسگذاری منفی امکان ارجاع به کاراکترهای انتهایی رشته را فراهم میکند. به عنوان مثال، ۱- به آخرین کاراکتر، ۲- به کاراکتر ماقبل آخر و به همین ترتیب اشاره دارد.
مثال:
این کد پایتون نشان میدهد که چگونه با یک رشته به نام String1 کار کنیم. رشته با مقدار “Programstore” مقداردهی اولیه شده و چاپ میشود. سپس روش دسترسی به اولین کاراکتر “G” با استفاده از ایندکس ۰ و آخرین کاراکتر “s” با استفاده از ایندکس منفی ۱- را نمایش میدهد.
s = "programstore" # accessing first character of string print(s[0]) # accessing last character of string print(s[-1])
خروجی:
p s
نوع دادهای لیست در پایتون
لیستها در پایتون مشابه آرایهها در سایر زبانها هستند و مجموعهای مرتب از دادهها را نگهداری میکنند. لیستها بسیار انعطافپذیر هستند زیرا اقلام داخل لیست نیازی به همنوع بودن ندارند.
لیست یک نوع داده همهکاره و منحصربهفرد در پایتون است. در مقایسه با آرایهها در زبانهایی مانند C یا ++C، لیستها در پایتون قابلیت بیشتری دارند. ویژگی جالب لیست این است که میتواند همزمان انواع مختلفی از دادهها را نگهداری کند. به طور رسمی، لیستها یک دنباله مرتب از دادهها هستند که با استفاده از کروشه [ ] و جدا کردن مقادیر با کاما , نوشته میشوند.
ایجاد لیست در پایتون
لیستها در پایتون با قرار دادن مقادیر در داخل کروشهها [ ] ایجاد میشوند.
مثال:
این کد پایتون روش ایجاد و کار با لیستها را نشان میدهد.
- یک لیست خالی ایجاد کرده و آن را چاپ میکند.
- یک لیست با یک عنصر رشتهای ایجاد کرده و آن را چاپ میکند.
- یک لیست با چندین عنصر رشتهای ایجاد کرده و عناصر انتخابی از لیست را چاپ میکند.
# Empty list a = [] # list with int values a = [1, 2, 3] print(a) # list with mixed int and string b = ["program", "store", 4, 5] print(b)
خروجی:
[۱, ۲, ۳] ['program', 'store', 4, 5]
دسترسی به آیتمهای لیست در پایتون
برای دسترسی به آیتمهای یک لیست، میتوان به شماره ایندکس آنها مراجعه کرد. از عملگر ایندکس [ ] برای دسترسی به یک آیتم در لیست استفاده کنید.
در پایتون، ایندکسهای منفی موقعیتها را از انتهای لیست نشان میدهند. به جای محاسبه دستی آفست مانند List[len(List)-3]، کافی است از List[-3] استفاده کنید.
ایندکسدهی منفی به این معناست که شمارش از انتهای لیست شروع میشود:
- ۱- به آخرین آیتم اشاره دارد.
- ۲- به آیتم ماقبل آخر اشاره دارد و به همین ترتیب.
a = ["program", "store"] print("Accessing element from the list") print(a[0]) print(a[2]) print("Accessing element using negative indexing") print(a[-1]) print(a[-3])
خروجی:
Accessing element from the list program program Accessing element using negative indexing program program
نوع داده ای تاپلها در پایتون
تاپل (Tuple) یکی دیگر از انواع داده در پایتون است که مانند لیست، دنبالهای از دادهها را نگهداری میکند. اما تفاوت اصلی آن با لیست در این است که تغییرناپذیر «Immutable» است؛ یعنی دادههای موجود در یک تاپل نمیتوانند پس از ایجاد تغییر کنند. برای تعریف تاپل، از پرانتزها () و جدا کردن مقادیر با کاما ( , ) استفاده میشود.
ایجاد یک تاپل در پایتون
در پایتون، تاپلها با قرار دادن مجموعهای از مقادیر جداشده با «کاما» ایجاد میشوند، چه با استفاده از پرانتزها برای گروهبندی دادهها و چه بدون آنها. تاپلها میتوانند هر تعداد عنصر با هر نوع دادهای (مانند رشتهها، اعداد صحیح، لیستها و غیره) داشته باشند.
نکته:
برای ایجاد تاپل با یک عنصر، کافی نیست که فقط یک مقدار داخل پرانتز باشد. برای اینکه بهعنوان تاپل شناسایی شود، باید یک «کاما» در انتهای مقدار قرار گیرد.
مثال:
- ایجاد یک تاپل خالی و چاپ آن.
- ساخت تاپل حاوی عناصر رشتهای و نمایش آن.
- تبدیل یک لیست به تاپل و نمایش نتیجه.
- ایجاد تاپل از یک رشته با استفاده از تابع ()tuple و نمایش آن.
- ایجاد تاپل با تاپلهای تودرتو و نمایش خروجی.
# initiate empty tuple t1 = () t2 = ('program', 'For') print("\nTuple with the use of String: ", t2)
خروجی:
Tuple with the use of String: ('program', 'For')
دسترسی به عناصر تاپل در پایتون
برای دسترسی به عناصر تاپل باید به شماره ایندکس آنها مراجعه کرد. برای این کار از عملگر [ ] استفاده میشود. ایندکس باید عدد صحیح باشد. در صورتی که تاپلها تو در تو باشند، از ایندکسگذاری چندگانه استفاده میشود.
نکته:
ساخت یک تاپل بدون استفاده از پرانتز بهعنوان بستهبندی تاپل «Tuple Packing» شناخته میشود.
مثال:
- تاپلی به نام tuple1 با پنج عنصر (۱، ۲، ۳، ۴ و ۵) ایجاد میشود.
- اولین، آخرین و سومین عنصر از انتهای تاپل با استفاده از ایندکسگذاری نمایش داده میشوند.
t1 = tuple([1, 2, 3, 4, 5]) print("First element of tuple") print(t1[0]) print("\nLast element of tuple") print(t1[-1]) print("\nThird last element of tuple") print(t1[-3])
خروجی:
First element of tuple ۱ Last element of tuple ۵ Third last element of tuple ۳
۳- نوع داده بولین در پایتون
نوع داده بولی در پایتون شامل دو مقدار از پیش تعریفشده True یا False است. اشیایی که مقدار آنها برابر با True است، بهعنوان truthy شناخته میشوند و آنهایی که برابر با False هستند، falsy نام دارند. علاوه بر این، اشیاء غیر بولی نیز میتوانند در یک زمینه بولی ارزیابی شوند و به عنوان true یا false شناخته شوند. این نوع داده با کلاس bool مشخص میشود.
نکته: مقادیر True و False باید با حرف بزرگ T و F شروع شوند؛ در غیر این صورت پایتون خطا میدهد.
مثال:
- دو خط اول نوع داده بولی مقادیر True و False را چاپ میکنند که برابر با <class bool> است.
- خط سوم خطا ایجاد میکند، زیرا true یک کلمهکلیدی معتبر در پایتون نیست. پایتون به حروف بزرگ و کوچک حساس است و برای استفاده از مقدار بولی، حرف اول True باید بزرگ نوشته شود.
print(type(True)) print(type(False)) print(type(true))
خروجی:
<class 'bool'> <class 'bool'>
Traceback (most recent call last): File "/home/7e8862763fb66153d70824099d4f5fb7.py", line 8, in print(type(true)) NameError: name 'true' is not defined
۴- نوع داده مجموعه (Set) در پایتون
در پایتون، مجموعه «Set» یک مجموعه بدون ترتیب از انواع دادهها است که قابل پیمایش «iterable»، قابل تغییر «mutable» و بدون عناصر تکراری است. ترتیب عناصر در مجموعه مشخص نیست، گرچه ممکن است مجموعه شامل انواع مختلفی از عناصر باشد.
ایجاد مجموعه در پایتون
مجموعهها میتوانند با استفاده از تابع داخلی ()set و یک شی قابل پیمایش یا یک دنباله «sequence» ایجاد شوند. همچنین، میتوان با قرار دادن دنباله داخل آکولادها { } و جداسازی عناصر با کاما، مجموعهها را ایجاد کرد. نوع عناصر در مجموعه الزاما نباید یکسان باشد و میتوان انواع مختلفی از دادهها را در یک مجموعه قرار داد.
مثال: کد زیر نمونهای از ایجاد مجموعهها با استفاده از انواع مختلف دادهها مانند رشتهها، لیستها و مقادیر مخلوط را نشان میدهد.
# initializing empty set s1 = set() s1 = set("programstore") print("Set with the use of String: ", s1) s2 = set(["program", "store"]) print("Set with the use of List: ", s2)
خروجی:
('Set with the use of String: ', set(['a', 'e', 'g', 'm', 'o', 'p', 's', 'r', 't'])) ('Set with the use of List: ', set(['program', 'store']))
دسترسی به عناصر مجموعه (Set) در پایتون
عناصر مجموعهها نمیتوانند با ارجاع به ایندکس دسترسی پیدا کنند، زیرا مجموعهها بدون ترتیب هستند و بنابراین عناصری که در آن قرار دارند ایندکس ندارند. اما میتوانید با استفاده از یک حلقه for از طریق عناصر مجموعه پیمایش کنید، یا بررسی کنید که آیا یک مقدار مشخص در مجموعه وجود دارد یا نه، با استفاده از عملگر in.
مثال:
در این کد، یک مجموعه به نام set1 با مقادیر “for” ، “program” و “store” ایجاد میشود. سپس کد مجموعه اولیه را چاپ میکند، عناصر مجموعه را در یک حلقه نمایش میدهد، و با استفاده از عملگر in بررسی میکند که آیا مقدار “program” در مجموعه موجود است یا خیر.
set1 = set(["program", "For", "store"]) print("\nInitial set") print(set1) print("\nElements of set: ") for i in set1: print(i, end=" ") print("program" in set1)
خروجی:
Initial set {'program', 'For'} Elements of set: program For True
۵- نوع داده دیکشنری در پایتون
دیکشنری در پایتون یک مجموعه غیرترتیبی از مقادیر داده است که برای ذخیره دادهها به شکل یک نقشه استفاده میشود. برخلاف سایر انواع داده در پایتون که تنها یک مقدار بهعنوان عنصر نگه میدارند، دیکشنریها یک جفت کلید: مقدار (key : value) را ذخیره میکنند. هر جفت کلید-مقدار در دیکشنری با استفاده از دو نقطه : از هم جدا میشود، و هر کلید با یک ویرگول , از دیگری جدا میشود.
ساخت دیکشنری در پایتون
در پایتون، دیکشنری میتواند با قرار دادن یک توالی از عناصر در داخل آکولادهای { } و جدا کردن آنها با ویرگول ایجاد شود. مقادیر در دیکشنری میتوانند از هر نوع دادهای باشند و میتوانند تکراری باشند، در حالی که کلیدها نمیتوانند تکراری باشند و باید تغییرناپذیر باشند. همچنین میتوان دیکشنری را با استفاده از تابع داخلی ()dict ایجاد کرد. یک دیکشنری خالی نیز میتواند با قرار دادن فقط آکولادهای خالی { } ایجاد شود.
نکته: کلیدهای دیکشنری حساس به حروف بزرگ و کوچک هستند، بنابراین یک کلید با نام مشابه اما با حروف متفاوت (مثل Key و key) بهطور مجزا در نظر گرفته میشود.
مثال:
این کد چندین دیکشنری مختلف را ایجاد کرده و چاپ میکند. اولین دیکشنری خالی است. دومی دیکشنریای است که کلیدهای آن اعداد صحیح و مقادیر آن رشتهها هستند. دیکشنری سوم کلیدهایی با انواع مختلف دارد، یکی کلید رشتهای و دیگری کلید عددی. چهارمین دیکشنری با استفاده از تابع ()dict ایجاد شده است و پنجمین دیکشنری با استفاده از سینتکس[کلید, مقدار] ساخته شده است.
# initialize empty dictionary d = {} d = {1: 'program', 2: 'For', 3: 'store'} print(d) # creating dictionary using dict() constructor d1 = dict({1: 'program', 2: 'For', 3: 'store'}) print(d1)
خروجی:
{۱: 'program', 2: 'For', 3: 'store'} {۱: 'program', 2: 'For', 3: 'store'}
دسترسی به کلید مقدار در دیکشنری
برای دسترسی به آیتمهای دیکشنری در پایتون، میتوانید از نام کلید استفاده کنید. میتوانید از براکتها برای دسترسی به مقدار کلید مورد نظر استفاده کنید. به علاوه، پایتون متدی به نام ()get دارد که به شما اجازه میدهد تا مقدار یک کلید را بگیرید، و اگر کلید وجود نداشته باشد، به جای خطا، مقدار None برمیگرداند.
به طور کلی، برای دسترسی به مقادیر در دیکشنری میتوانید:
- از کلید استفاده کنید تا به مقدار مربوط به آن دسترسی پیدا کنید.
- از متد ()get استفاده کنید که قابلیت ایمنتری برای دسترسی به مقادیر است.
اگر کلید موجود باشد، مقدار آن برگشت داده میشود و در غیر این صورت، اگر از ()get استفاده کنید، مقدار پیشفرض None برمیگردد.
d = {1: 'programstore', 'name': 'For', 3: 'programstore'} # Accessing an element using key print(d['name']) # Accessing a element using get print(d.get(3))
خروجی:
for programstore
انجام عملیات ابتدایی بر روی لیستها در پایتون
- تعریف یک لیست: میتوانیم یک لیست از عناصر مختلف تعریف کنیم.
- اضافه کردن عنصر به لیست: از متد ()append برای اضافه کردن یک عنصر به انتهای لیست استفاده میکنیم.
- حذف عنصر از لیست: برای حذف یک عنصر از لیست میتوان از متدهایی مانند ()remove یا ()pop استفاده کرد.
- دسترسی به عناصر لیست: میتوان از ایندکسها برای دسترسی به عناصر یک لیست استفاده کرد.
- بررسی طول لیست: میتوان از تابع ()len برای بررسی طول لیست استفاده کرد.
در اینجا توضیحات انجام این عملیات آورده شده است:
- تعریف یک لیست: my_list = [1, 2, 3, 4, 5]
- اضافه کردن عنصر به لیست: my_list.append(6) (این عنصر ۶ را به انتهای لیست اضافه میکند)
- حذف عنصر از لیست: my_list.remove(3) (این عنصر ۳ را از لیست حذف میکند)
- دسترسی به عناصر لیست: my_list[0] (دسترسی به اولین عنصر لیست که مقدار آن ۱ است)
- بررسی طول لیست: len(my_list) (این تابع تعداد عناصر لیست را برمیگرداند)
در نهایت، این عملیات به شما کمک میکند تا بتوانید عملیات ابتدایی بر روی لیستها را انجام دهید.
۱- کد برای پیاده سازی عملیات لیست پایه
fruits = ["apple", "banana", "orange"] print(fruits) fruits.append("grape") print(fruits) fruits.remove("orange") print(fruits)
خروجی:
['apple', 'banana', 'orange'] ['apple', 'banana', 'orange', 'grape'] ['apple', 'banana', 'grape']
۲- کد برای اجرای عملیات تاپل اولیه
coordinates = (3, 5) print(coordinates) print("X-coordinate:", coordinates[0]) print("Y-coordinate:", coordinates[1])
خروجی:
(۳, ۵) X-coordinate: 3 Y-coordinate: 5
نتیجه گیری
انواع داده در پایتون ابزارهای اصلی برای ذخیرهسازی و مدیریت اطلاعات هستند. هر نوع داده مشخص میکند که متغیرهای ما چه نوع اطلاعاتی میتوانند نگه دارند و چه عملیاتهایی بر روی آنها قابل انجام است.
به طور کلی، پایتون انواع دادههای متنوعی دارد که میتوان آنها را به دستههای مختلف تقسیم کرد: از انواع عددی مانند اعداد صحیح و اعشاری گرفته تا انواع متنی مانند رشتهها، و ساختارهای پیچیدهتری مثل لیستها، دیکشنریها و مجموعهها. ویژگی مهم پایتون این است که زبان دینامیک است، یعنی نیازی به مشخص کردن نوع داده هنگام تعریف متغیر نداریم و پایتون خودش نوع داده را از روی مقدار متغیر شناسایی میکند.
با آشنایی با انواع داده در پایتون میتوانیم دادهها را به شکل بهینه ذخیره کنیم و عملیات مختلفی را بر روی آنها انجام دهیم. این امر به ما کمک میکند تا کدهایی ساده، قابل فهم و انعطافپذیر بنویسیم که میتواند در برنامهنویسیهای مختلف، از جمله توسعه نرمافزارها و تحلیل دادهها، کاربرد داشته باشد.
واقعا خیلی لطف میکنید ک این اموزشارو اون هم بصورت رایگان میزارید.آموزشای زیادی دیدم ولی هیچ کس ب خوبی شما نیست اونقدر عاشق مقاله های شما شدم ک پشت سر هم تا وقتی ک چشم هام درد نکنه نگا میکنم و تمرین میکنم.خیلی خوب درس میدید.ممنون
عالی بود خسته نباشید
ممنونم
من واقعا نمیدونم چطوری ازتون تشکر کنم بابت مجموعه مفیدی که فراهم کردید
ممنونم ازتون
آموزش بسیار عالی بیان و تشریح مسائل کاملا رسا و مثالها کاربردی و جامع بود. برای بنده بسیار مفید بود.
آموزش در سطح عالی بود و آن را به سایر دوستان توصیه می کنم
ممنونم نظر لطفتونه
اموزش بسیار با کیفیت و مدرس مسلط با قدرت تفهیم و انتقال بالا.
ممنون از لطفتون
ممنون از لطف و محبت شما