انواع داده در پایتون شامل اعداد (Number)، لیستها (List)، تاپلها (Tuple)، رشتهها (String)، مجموعهها (Set) و لغتنامهها (Dictionary) میشوند. نوعهای داده عددی در پایتون زیرمجموعههای خاص خود را دارند و به همین دلیل آگاهی درباره این نوعهای دادهای نه تنها برای برنامهنویسی در این زبان ضروری است، بلکه باعث میشود تا برنامههای بهینهتری را طراحی کنید و از هر نوع دادهای در مکان درست خود استفاده کنید. همه انواع داده مربوط به پایتون را میتوانید در بوت کمپ پایتون یاد بگیرید.
در این مطلب، قصد داریم شما را با انواع دادههای عددی در پایتون آشنا کنیم و در ادامه به نحوه تبدیل یک نوع داده به دیگری خواهیم پرداخت و در انتها عملیات ریاضی قابل انجام روی انواع داده عددی در پایتون را بررسی میکنیم. با آموزش برنامه نویسی بامداد همراه باشید.
پیشنهاد مقاله: انواع داده در سی شارپ
نوع داده عددی در پایتون
پایتون از اعداد واقعی دنیای ریاضی مثل اعداد صحیح (integers)، اعداد ممیز شناور (floating point) و اعداد مختلط (complex numbers) به خوبی پشتیبانی میکند. این نوعهای دادهای به ترتیب با کلیدواژههای float، int و complex در پایتون تعریف میشوند. اعداد صحیح و ممیزشناور با وجود یا عدم وجود علامت ممیز اعشاری از یکدیگر قابل تشخیص هستند.
به بیان دقیقتر، اگر در عددی از ممیز اعشاری استفاده کنید، آن عدد ممیز شناور و در غیر این صورت صحیح است. بهطور مثال، 5 یک عدد صحیح و 5.0 یک عدد ممیز شناور است. اعداد مختلط به شکل x + yj نوشته میشوند که در آن، x قسمت حقیقی و y قسمت موهومی عدد است. میتوان از تابع ()type برای فهمیدن اینکه یک متغیر به کدام کلاس تعلق دارد استفاده کرد. علاوه بر این، از تابع ()isinstance میتوان برای تشخیص این نکته که آیا یک متغیر به یک کلاس خاص تعلق دارد یا خیر استفاده کرد. برای درک موضوع به مثال زیر دقت کنید:
a = 5
print(type(a))
print(type(5.0))
c = 5 + 3j
print(c + 3)
print(isinstance(c, complex))
خروجی قطعه کد بالا به صورت زیر است:
<class ‘int’><class ‘float’>(8+3j)True
در کد بالا، مقدار 5 به متغیر a اختصاص پیدا کرده است. در ادامه با استفاده از تابع ()type نوع این متغیر بررسی شده است. خروجی این قسمت از کد، int خواهد بود. سپس، با استفاده از دستور (type(5.0 نوع داده عدد 5.0 بررسی و با استفاده از تابع ()print چاپ شده است. این خروجی برابر با float خواهد بود. در نهایت، متغیر c به صورت c = 5 + 3j تعریف شده است که یک عدد مختلط است. سپس، با استفاده از دستور (isinstance(c, complex بررسی شده که آیا متغیر c متعلق به کلاس مختلط است و خروجی آن، با استفاده از دستور ()print چاپ شده است. در واقع تابع ()isinstance در تابع ()print قرار گرفته که موجب میشود خروجی آن با استفاده از تابع پرینت چاپ شود.
نوع داده صحیح (int) میتواند هر اندازهای داشته باشند، اما نوع داده ممیز شناور تنها تا 15 رقم اعشار صحیح است. اعدادی که افراد به شکل روزانه با آنها سر و کار دارند، اعداد دهدهی در مبنای Decimal هستند، اما در برخی برنامهها و به ویژه برنامههای سطح پایین که ارتباط مستقیمی با پردازندهها دارند برنامهنویسان از مبنای دودویی که مبتنی بر صفر و یک است استفاده میکنند.
همچنین در برخی برنامهها نیز از سیستم مبنای هگزا (Hexadecimal) و اوکتال (Octal) استفاده میشود. تعریف هر یک از این مبناها خود به یک مقاله جداگانه نیاز دارد که با یک جستوجوی ساده در اینترنت اطلاعات کاملتری در ارتباط با این مبناها به دست میآورید. در پایتون، این اعداد با قرار دادن یک پیشوند قبل از آن عدد، مشخص میشوند. در شکل زیر، این پیشوندها را مشاهده میکنید.

برای روشن شدن بحث به مثالهای زیر دقت کنید:
# Output: 107
print(0b1101011)
# Output: 253 (251 + 2)
print(0xFB + 0b10)
# Output: 13
print(0o15)
خروجی قطعه کد بالا به شرح زیر است:
10725313
همانگونه که مشاهده میکنید با قرار دادن 0b قبل از عدد دودویی 1101011 (به صورت 0b1101011) و چاپ آن در خروجی مقدار دهدهی 107 چاپ شده است (اگر در زمینه تبدیل نوعها به یکدیگر اطلاعاتی ندارید، کافی است ماشین حساب ویندوز را اجرا کنید و روی سه دکمه سمت چپ آن کلیک کرده و حالت Programmer را انتخاب کنید. در بین گزینههای ظاهر شده، امکان انتخاب نوعهای دادهای که به آنها اشاره کردیم وجود دارد.) همانگونه در شکل زیر مشاهده میکنید، مقدار 107 در مبناهای مختلف با رقمهای مختلفی نشان داده میشود. همانگونه که اشاره کردیم، هر یک از این مبناها کاربردهای خاص خود را دارند، اما شما در حالت کلی از مبنای دهدهی رایج که در مدرسه با آن آشنا شدهاید در زندگی روزمره استفاده میکنید.

در خط بعدی کد بالا، عدد دودویی 0b10 (برابر با 2 در دستگاه مبنای 10) با عدد مبنای شانزده 0xFB (برابر با 251 در دستگاه مبنای 10) جمع زده شده و خروجی آن با استفاده از تابع ()print چاپ شده که برابر با مقدار 253 است. در آخرین خط کد، مقدار 0o15 که در مبنای هشت است، به تابع ()print داده شده و خروجی حاصل از آن، برابر با 13 (عدد ۱۳ در مبنای 10) است.
تبدیل نوعهای دادهای
میتوان یک نوع داده را به نوع دیگری تبدیل کرد. در صورت انجام دادن عملیاتی مانند جمع و تفریق بین اعداد صحیح و اعشاری، بهطور ضمنی تبدیل نوع برای اعداد صحیح انجام میشود. در واقع، امکان جمع زدن یا تفریق یک عدد صحیح با یک عدد ممیز شناور وجود ندارد، بنابراین، در صورت انجام چنین کاری، عدد صحیح ابتدا به ممیز شناور تبدیل میشود و سپس عمل جمع یا تفریق انجام میشوند. شایان ذکر است که خروجی نیز به صورت عدد اعشاری خواهد بود. مثال زیر در همین رابطه، جالب توجه است.
>>> 1 + 2.03.0
در قطعه کد بالا، 1۱ عدد صحیحی است که با عدد ممیز شناور 2.0 جمع زده شده است. بنابراین، 1 ابتدا به 1.0 (ممیز شناور) تبدیل و سپس با 2.0 جمع زده شده است. خروجی نیز 3.0 است که یک عدد ممیز شناور محسوب میشود. همچنین، در ارتباط با رشتهها نیز میتوان از توابعی مثل float()،int و ()complex برای تبدیل صریح انواع به یکدیگر استفاده کرد. این توابع، میتوانند رشتهها را نیز تبدیل کنند.
>>> int(2.3)2>>> int(-2.8)-2>>> float(5)5.0>>> complex(‘3+5j’)(3+5j)
در قطعه کد بالا، عدد ممیز شناور 2.3 به تابع ()int داده شده است. خروجی حاصل از اجرای کد برابر با 2 (عدد صحیح) است. در خط کد بعدی، عدد -2.8 به تابع ()int داده شده و خروجی آن، عدد صحیح -2 است. عدد صحیح 5، با استفاده از تابع ()float به عدد ممیز شناور 5.0 تبدیل شده است. در نهایت، رشته ‘3+5j’، با استفاده از تابع ()complex، به عدد مختلط تبدیل شده است. نکته مهم در تبدیل اعداد ممیز شناور به اعداد صحیح، آن است که بخش اعشاری عدد بریده (Truncated) میشود.

ممیز شناور پایتون
نوع داده شناور (float) پایتون، محاسبات فوقالعادهای را انجام میدهد و قدرت زیادی دارد. در دنیای واقعی جمع 1.1 و 2.2 مقدار 3.3 را می دهد، اما به نظر میرسد پایتون با این موضوع مخالف است. قطعه کد زیر، این مساله را نشان میصدهد.
>> (1.1 + 2.2) == 3.3
False
چرا پایتون حاصل این مقدار را 3.3 در نظر نمیگیرد؟ به این دلیل که مقادیر ممیز شناور در سختافزار کامپیوتری به صورت کسرهای دودویی ذخیره میشوند، زیرا کامپیوترها فقط مقادیر (0 و 1) را میفهمند. به همین دلیل، اغلب کسرهای اعشاری شناخته شده برای انسان، به درستی و عینا در کامپیوتر ذخیره نمیشوند. در ادامه، مثال دیگری در همین رابطه ارائه شده است. کسر 3/1 را نمیتوان به صورت یک عدد اعشاری نشان داد. زیرا مقدار آن برابر با 0.33333333… با دوره تناوب روی 3 است و بنابراین قسمت اعشاری به صورت نامحدودی ادامه خواهد داشت. این عدد را تنها میتوان تقریب زد. برای کسر اعشاری 0.1 نیز به همین صورت است و مقدار …0.000110011001100110011 برای آن حاصل میشود. این در حالی است که کامپیوتر، تنها مقدار محدودی از آن را ذخیره میکند. همین موضوع باعث موجب یشود که 0.1 فقط تخمین زده شود و دقیقا برابر با عدد اصلی نباشد. از این رو، مواجه شدن با پیامی مانند آنچه در قطعه کد بالا وجود داشت، مربوط به محدودیت کامپیوتر و نه خطای پایتون است. بنابراین در هنگام استفاده از نوع داده شناور به این نکته دقت کنید. خروجی قطعه کد بالا در پایتون به شرح زیر است:
>>> 1.1 + 2.23.3000000000000003
برای حل این مشکل میتوان از ماژول decimal در پایتون استفاده کرد. در حالی که مقادیر ممیز شناور دارای دقتی تا 15 رقم اعشار هستند، ماژول اعشاری دارای دقت قابل تنظیم به وسیله کاربر است. قطعه کد زیر، مثالی در همین رابطه را ارائه میکند.
import decimal
print(0.1)
print(decimal.Decimal(0.1))
در قطعه کد بالا، ماژول decimal را باید به برنامه وارد (Import) کنید. در ادامه، عدد ممیز شناور 0.1 با استفاده از تابع ()print چاپ شده است. خروجی حاصل از اجرای این بخش از کد، برابر با 0.1 است. سپس، با استفاده از ماژول decimal، عدد 1.0 با دقت بیشتری چاپ شده است. خروجی برابر با مقدار زیر است:
0.10.1000000000000000055511151231257827021181583404541015625
این ماژول هنگامی مورد استفاده قرار میگیرد که هدف انجام محاسباتی مانند آنچه در دوران مدرسه وجود داشت، باشد. همچنین، معنیدار بودن را نیز حفظ میکند. واضح است که عدد 25.50 کیلوگرم، از 25.5 دقیقتر است، زیرا نسبت به حالت دوم دارای یک رقم اعشار معنیدار بیشتر است. کد زیر در همین رابطه مورد توجه است.
from decimal import Decimal as D
print(D(‘1.1’) + D(‘2.2’))
print(D(‘1.2’) * D(‘2.50’))
خروجی قطعه کد فوق به شرح زیر است:
3.33.000
ابتدا، از ماژول decimal تابع Decimal با عنوان D فراخوانی میشود. سپس، اعداد ممیز شناور 1.1 و 2.2 در حالی که هر یک به تابع D داده شدهاند، با یکدیگر جمع زده میشوند و حاصل جمع با استفاده از دستور print چاپ میشود. خروجی برابر با 3.3 است. در خط کد بعدی، اعداد ممیز شناور 1.1 و 2.2 در حالی که به تابع D داده شدهاند در یکدیگر ضرب میشوند. حاصل این ضرب برابر با 3.000 است. دنباله صفرها در خروجی قابل توجه است. ممکن است این پرسش مطرح شود که چرا هر بار از Decimal به جای float در پیادهسازیها استفاده نشود؟ دلیل اصلی این امر افزایش کارایی است. عملیات ممیز شناور سریعتر از عملیات Decimal انجام میشود.
چه زمانی از Decimal به جای float استفاده شود؟
به طور معمول، از Decimal در شرایط زیر استفاده میشود:
هنگام ساخت برنامههای کاربردی مالی که نیاز به ارائه اعشاری دقیق دارند.
هنگامی که نیاز به کنترل سطح دقت (صحت) وجود دارد.
هنگامی که قصد پیادهسازی مفهوم ارقام اعشاری معنیدار وجود دارد.
هنگامی که نیاز به انجام عملیاتی مانند آنچه در مسائل مدرسه وجود داشت، باشد.
کسرهای پایتون
پایتون، عملیاتی شامل اعداد کسری ازص را فراهم میکند. یک کسر، دارای صورت و مخرج است. هر دو این مقادیر اعداد صحیح هستند. این ماژول از محاسبات اعداد گویا نیز پشتیبانی میکند. اشیا (objects) کسر را میتوان به روشهای مختلف ساخت.
import fractions
print(fractions.Fraction(1.5))
print(fractions.Fraction(5))
print(fractions.Fraction(1,3))
خروجی قطعه کد فوق به شرح زیر است:
3/251/3
در قطعه کد بالا، عدد اعشاری 1.5 به تابع Fraction از ماژول fractions داده شده است. سپس، خروجی حاصل از تابع با استفاده از تابع print چاپ میشود که برابر با کسر 2/3 است. در خط کد بعدی که مثال دیگری برای همین تابع است، مقدار 5 به تابع داده شده که خروجی آن نیز برابر با 5 است (در واقع کسر 1/5 است که در آن معمولا فقط صورت نوشته میشود). در نهایت، مقادیر 1 و 3 به ترتیب به تابع داده شدهاند (به صورت (fractions.Fraction(1,3) که خروجی تابع برای این مورد کسر 3/1 است. هنگام ساخت Fraction از float، ممکن است نتایج غیرمعمولی حاصل شود. این مساله به دلیل نمایش نامناسب اعداد ممیز شناور دودویی است که پیشتر درباره آن صحبت شد. خوشبختانه، Fraction این امکان را فراهم میکند تا از رشتهها نیز کسر ساخت. این گزینه هنگام کار با مقادیر decimal کاربردی خواهد بود.
import fractions
# As float
# Output: 2476979795053773/2251799813685248
print(fractions.Fraction(1.1))
# As string
# Output: 11/10
print(fractions.Fraction(‘1.1’))
خروجی قطعه کد بالا به شرح زیر است:
2476979795053773/225179981368524811/10
در قطعه کد بالا، پس از وارد کردن ماژول fractions، مقدار 1.1 به تابع Fraction داده شده و خروجی آن با استفاده از تابع ()print چاپ میشود. در خط کد بعدی، رشته 1.1 به تابع داده میشود که خروجی آن برابر با 11/10 است. این نوع داده از همه عملیات ریاضیاتی پایه پشتیبانی میکند. در ادامه، مثالهایی در همین رابطه ارائه شده است.
from fractions import Fraction as F
print(F(1, 3) + F(1, 3))
print(1 / F(5, 6))
print(F(-3, 10) > 0)
print(F(-3, 10) < 0)
خروجی قطعه کد فوق به شرح زیر است:
2/36/5FalseTrue
در قطعه کد بالا، ابتدا تابع Fraction از ماژول fractions با عنوان F، وارد میشود. سپس، مقادیر 1 و 3 به ترتیب به تابع F داده میشوند و حاصل دو تابع (F(1,3 با هم جمع زده میشود. از آنجا که برای هر تابع (F(1,3، خروجی برابر با 3/1 است، حاصل جمع برابر با 3/2 میشود. در خط کد بعدی، مقدار 1 تقسیم بر (F(5,6 محاسبه میشود. در واقع، حاصل تقسیم کسری 1/1 بر 6/5 محاسبه میشود که برابر با 5/6 است. در (print(F(-3,10) > 0، بررسی میشود که آیا خروجی تابع (F(-3,10 بزرگتر از صفر است یا خیر. به دلیل آنکه خروجی (-10/3) از صفر بزرگتر نیست، False چاپ میشود. در نهایت، در خط کد آخر بررسی میشود که آیا خروجی تابع (F(-3,10 کوچکتر از صفر است یا خیر. به دلیل آنکه خروجی، یعنی -10/3 از صفر کوچکتر است، True در خروجی چاپ میشود.
عملیات ریاضی در پایتون
پایتون ماژولهایی مانند math و random را برای مباحث گوناگون ریاضی مانند مثلثات، لگاریتم، آمار و احتمال دارد. در قطعه کد زیر، مثالهایی از این موارد آورده شده است.
import math
print(math.pi)
print(math.cos(math.pi))
print(math.exp(10))
print(math.log10(1000))
print(math.sinh(1))
print(math.factorial(6))
خروجی قطعه کد فوق به شرح زیر است:
3.141592653589793-1.022026.4657948067183.01.1752011936438014720
در ادامه به چند مثال از محاسبات ریاضی قابل انجام به وسیله تابع random اشاره می کنیم:
import random
print(random.randrange(10, 20))
x = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
# Get random choice
print(random.choice(x))
# Shuffle x
random.shuffle(x)
# Print the shuffled x
print(x)
# Print random element
print(random.random())
خروجی قطعه کد فوق به شرح زیر است:
18e[‘c’, ‘e’, ‘d’, ‘b’, ‘a’]0.5682821194654443
لیستها در پایتون
لیستها یکی از مهمترین انواع داده در پایتون به شمار میآیند که امکان ذخیرهسازی چندین آیتم مختلف درون یک متغیر را برای شما فراهم میکنند. آنها جز دادههای داخلی پایتون هستند که در کنار Set، Tuple و Dictionary میتوانند ذخیره گروهی دادهها را برای شما فراهم کنند. قطعه کد زیر، لیستی با سه آیتم از نوع String را برای شما ایجاد میکند:
thislist = [“apple”, “banana”, “cherry”]
print(thislist)
شما میتوانید مقادیر تکراری را نیز داخل لیست خود در پایتون ذخیره کنید. برای اینکه بتوانید به عناصر این لیست دسترسی داشته باشید، باید بدانید که 0 نشاندهنده آیتم اول، 1 نشاندهنده آیتم دوم و به همین ترتیب، باقی اعداد نیز نشاندهنده هر آیتم هستند.
هر زمان که آیتم جدیدی را به لیست اضافه کنید، این آیتم در انتهای لیست شما قرار میگیرد. قطعه کد زیر نشان میدهد که چگونه میتوان آیتمهای تکراری را به لیست اضافه کرد:
thislist = [“apple”, “banana”, “cherry”, “apple”, “cherry”]
print(thislist)
وقتی که قصد دارید اندازه و سایز لیست را به دست بیاورید، میتوانید از تابع len() برای این کار استفاده کنید:
thislist = [“apple”, “banana”, “cherry”]
print(len(thislist))
با اجرای این کد، خروجی 3 برای شما نشان داده میشود که نشاندهنده سه عنصر درون لیست است.
شما در لیست میتوانید انواع دادهها در پایتون را ذخیره کنید. برای مثال قطعه کد زیر را مشاهده کنید که سه نوع داده مختلف در لیستهای متفاوت ذخیره شدهاند:
list1 = [“apple”, “banana”, “cherry”]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]
از طرف دیگر، امکان ذخیرهسازی دادهها با انواع مختلف درون یک لیست نیز به شکل زیر وجود دارد:
list1 = [“abc”, 34, True, 40, “male”]

تاپلها در پایتون
تاپل، از دیگر انواع داده ها در پایتون است که بسیار شبیه به لیست بوده و به شما اجازه میدهد تا انواع مختلفی از دادهها را درون آن ذخیره کنید. این دادهها با اعداد صحیح ایندکس شده و با استفاده از یک کاما از هم جدا میشوند. برای اینکه بتوانید یک تاپل را در پایتون بسازید میتوانید به شکل زیر عمل کنید:
# Creating an empty Tuple
Tuple1 = ()
print(“Initial empty Tuple: “)
print(Tuple1)
# Creating a Tuple
# with the use of string
Tuple1 = (‘Geeks’, ‘For’)
print(“\nTuple with the use of String: “)
print(Tuple1)
# Creating a Tuple with
# the use of list
list1 = [1, 2, 4, 5, 6]
print(“\nTuple using List: “)
print(tuple(list1))
# Creating a Tuple
# with the use of built-in function
Tuple1 = tuple(‘Geeks’)
print(“\nTuple with the use of function: “)
print(Tuple1)
با اجرای قطعه کد بالا، خروجی شما به شکل زیر خواهد بود:
Initial empty Tuple:
()
Tuple with the use of String:
(‘Geeks’, ‘For’)
Tuple using List:
(1, 2, 4, 5, 6)
Tuple with the use of function:
(‘G’, ‘e’, ‘e’, ‘k’, ‘s’)
تاپلها در پایتون میتوانند حاوی عناصری باشند که از دادههایی با انواع مختلف ایجاد شدهاند. قطعه کد زیر را مشاهده کنید:
# Creating a Tuple
# with Mixed Datatype
Tuple1 = (5, ‘Welcome’, 7, ‘Geeks’)
print(“\nTuple with Mixed Datatypes: “)
print(Tuple1)
# Creating a Tuple
# with nested tuples
Tuple1 = (0, 1, 2, 3)
Tuple2 = (‘python’, ‘geek’)
Tuple3 = (Tuple1, Tuple2)
print(“\nTuple with nested tuples: “)
print(Tuple3)
# Creating a Tuple
# with repetition
Tuple1 = (‘Geeks’,) * 3
print(“\nTuple with repetition: “)
print(Tuple1)
# Creating a Tuple
# with the use of loop
Tuple1 = (‘Geeks’)
n = 5
print(“\nTuple with a loop”)
for i in range(int(n)):
Tuple1 = (Tuple1,)
print(Tuple1)
خروجی کد بالا به شکل زیر است:
Tuple with Mixed Datatypes:
(5, ‘Welcome’, 7, ‘Geeks’)
Tuple with nested tuples:
((0, 1, 2, 3), (‘python’, ‘geek’))
Tuple with repetition:
(‘Geeks’, ‘Geeks’, ‘Geeks’)
Tuple with a loop
(‘Geeks’,)
((‘Geeks’,),)
(((‘Geeks’,),),)
((((‘Geeks’,),),),)
(((((‘Geeks’,),),),),)
برای دسترسی به عناصر یک تاپل، میتوانید به شکل زیر عمل کنید:
# Accessing Tuple
# with Indexing
Tuple1 = tuple(“Geeks”)
print(“\nFirst element of Tuple: “)
print(Tuple1[0])
# Tuple unpacking
Tuple1 = (“Geeks”, “For”, “Geeks”)
# This line unpack
# values of Tuple1
a, b, c = Tuple1
print(“\nValues after unpacking: “)
print(a)
print(b)
print(c)
خروجی:
First element of Tuple:
G
Values after unpacking:
Geeks
For
Geeks
در پایتون این امکان برای شما وجود دارد که بتوانید دو یا چند تاپل را به یکدیگر متصل کنید. برای این کار، میتوانید از قطعه کد زیر استفاده کنید:
# Concatenation of tuples
Tuple1 = (0, 1, 2, 3)
Tuple2 = (‘Geeks’, ‘For’, ‘Geeks’)
Tuple3 = Tuple1 + Tuple2
# Printing first Tuple
print(“Tuple 1: “)
print(Tuple1)
# Printing Second Tuple
print(“\nTuple2: “)
print(Tuple2)
# Printing Final Tuple
print(“\nTuples after Concatenation: “)
print(Tuple3)
خروجی این کد به شکل زیر است:
Tuple 1:
(0, 1, 2, 3)
Tuple2:
(‘Geeks’, ‘For’, ‘Geeks’)
Tuples after Concatenation:
(0, 1, 2, 3, ‘Geeks’, ‘For’, ‘Geeks’)

رشتهها در پایتون
رشتهها از دیگر انواع داده در پایتون هستند که کاربردهای زیادی دارند. آنها در واقع مجموعهای از کاراکترها هستند که یکی از ساختارهای داده اولیه در پایتون به شمار میآیند. رشتههای پایتون قابل تغییر نیستند. آنها داخل یک کوتیشن یا دابل کوتیشن قرار میگیرند. این بدان معناست که در پایتون ‘hello’ و “hello” هیچ تفاوتی با یکدیگر ندارند. برای مثال هر دو کد زیر، عبارت hello را در خروجی برای شما چاپ میکنند:
print(“Hello”)
print(‘Hello’)
اگر قصد داشته باشید از یک کوتیشن داخل رشته خود استفاده کنید، میتوانید به شکل زیر این کار را انجام دهید:
print(“It’s alright”)
print(“He is called ‘Johnny'”)
print(‘He is called “Johnny”‘)
قرار قرار دادن یک رشته داخل متغیر، میتوان به شکل زیر اقدام کرد:
a = “Hello”
print(a)
از طرف دیگر شما میتوانید رشتههای چند خطی نیز در پایتون ایجاد کنید که این کار به شکل زیر انجام میشود:
a = “””Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua.”””
print(a)
یک رشته را در زبان پایتون میتوان بهعنوان یک آرایه نیز در نظر گرفت. برای مثال با اجرای قطعه کد زیر، کاراکتر e برای شما چاپ میشود:
a = “Hello, World!”
print(a[1])
شما میتوانید از حلقهها داخل رشته نیز استفاده کنید:
for x in “banana”:
print(x)
با اجرای این کد، هریک از کاراکترهای عبارت banana در یک خط برای شما چاپ میشود.
برای دسترسی به اندازه یک رشته میتوان از تابع len به شکل زیر استفاده کرد:
a = “Hello, World!”
print(len(a))
اگر قصد دارید ببینید یک عبارت درون رشتهای قرار دارد یا خیر؟ میتوانید به شکل زیر عمل کنید:
txt = “The best things in life are free!”
print(“free” in txt)
این تابع یک خروجی بولین برمیگرداند که اگر عبارت درون رشته وجود داشته باشد نتیجه true و در غیر این صورت نتیجه false خواهد بود.

انواع داده Data Types در پایتون
انواع داده ها در پایتون شامل موارد زیر میشوند:
یکی از انواع دادههاست که دو مقدار true و false را به خود میگیرد. در پایتون برای این دو مقدار حتما باید از حرف اول بزرگ استفاده کنید. این بدان معناست که عبارات True و False درست هستند و در غیر این صورت شما خطا دریافت میکنید. این نوع داده بیشتر در عملگرهای منطقی کاربرد دارد.
نوع داده Set
ست در واقع یک مجموعه نامرتب از انواع دادههاست که هیچ عنصر تکراری درون آن وجود نداشته و البته تغییر ناپذیر است. برای اینکه بتوانید یک ست را در پایتون ایجاد کنید میتوانید به شکل زیر اقدام کنید:
set1 = set()
print(“Initial blank Set: “)
print(set1)
set1 = set(“GeeksForGeeks”)
print(“\nSet with the use of String: “)
print(set1)
set1 = set([“Geeks”, “For”, “Geeks”])
print(“\nSet with the use of List: “)
print(set1)
set1 = set([1, 2, ‘Geeks’, 4, ‘For’, 6, ‘Geeks’])
print(“\nSet with the use of Mixed Values”)
print(set1)
خروجی این کد به شکل زیر است:
Initial blank Set:
set()
Set with the use of String:
{‘F’, ‘o’, ‘G’, ‘s’, ‘r’, ‘k’, ‘e’}
Set with the use of List:
{‘Geeks’, ‘For’}
Set with the use of Mixed Values
{1, 2, 4, 6, ‘Geeks’, ‘For’}
برای دسترسی به عناصر یک ست نیز قطعه کد زیر مفید است:
set1 = set([“Geeks”, “For”, “Geeks”])
print(“\nInitial set”)
print(set1)
print(“\nElements of set: “)
for i in set1:
print(i, end=” “)
print(“Geeks” in set1)
خروجی:
Initial set:
{‘Geeks’, ‘For’}
Elements of set:
Geeks For
True
دیکشنری در پایتون یکی دیگر از انواع داده است که مجموعهای مرتب شده از آیتمها را به شما ارائه میدهد. این ساختمان داده، عناصر را بهصورت کلید/مقدار ذخیره میکند. مثال زیر را مشاهده کنید:
# create a dictionary named capital_city
capital_city = {‘Nepal’: ‘Kathmandu’, ‘Italy’: ‘Rome’, ‘England’: ‘London’}
print(capital_city)
خروجی این کد به شکل زیر است:
{‘Nepal’: ‘Kathmandu’, ‘Italy’: ‘Rome’, ‘England’: ‘London’}
برای دسترسی به مقادیر دیکشنری میتوانید کلیدهای آنها را فراخوانی کنید که این کار به شکل زیر قابل انجام خواهد بود:
# create a dictionary named capital_city
capital_city = {‘Nepal’: ‘Kathmandu’, ‘Italy’: ‘Rome’, ‘England’: ‘London’}
print(capital_city[‘Nepal’]) # prints Kathmandu
print(capital_city[‘Kathmandu’]) # throws error message
همانطور که مشاهده میکنید خروجی کلید ‘Nepal’ برابر Kathmandu خواهد بود؛ چراکه این جفت کلید/مقدار درون دیکشنری ما تعریف شده است. با این حال، چون ما کلید ‘Kathmandu’ را درون دیکشنری نداریم، وقتی که مقدار آن را فراخوانی کنیم با ارور مواجه خواهیم شد




