انواع داده ها در برنامه نویسی پایتون

4 سال پیش
انواع داده ها در برنامه نویسی پایتون

انواع داده ها در برنامه نویسی پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، با انواع داده ها در برنامه نویسی پایتون (Python Data Types) که می توانید استفاده کنید، آشنا خواهید شد.

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

هر مقدار (value) در پایتون یک نوع داده دارد. از آنجا که همه چیز یک شی در برنامه نویسی پایتون محسوب می شود، انواع داده در واقع کلاس هستند و متغیرها نمونه (شی های) این کلاس ها هستند.

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

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

اعداد پایتون

عددهای صحیح، اعداد ممیز شناور و اعداد مختلط در گروه اعداد پایتون قرار می گیرند. آنها به عنوان کلاسهای int ، float و 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))

 

خروجی:

۵ is of type <class 'int'>
۲٫۰ is of type <class 'float'>
(۱+۲j) is complex number? True

 

عدد صحیح می تواند از هر طولی باشد، فقط با حافظه موجود محدود می شود.

یک عدد ممیز شناور تا ۱۵ رقم اعشار صحیح است. بخش صحیح و ممیز شناور اعداد با نقاط اعشاری از هم جدا می شوند. ۱ عدد صحیح است، ۱٫۰ عدد ممیز شناور است.

اعداد مختلط به صورت x + yj نوشته می شوند، جایی که x قسمت حقیقی است و y قسمت موهومی است. در اینجا چند نمونه آورده شده است.

>>> a = 1234567890123456789
>>> a
۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۷۸۹
>>> b = 0.1234567890123456789
>>> b
۰٫۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۸
>>> c = 1+2j
>>> c
(۱+۲j)

 

توجه کنید که متغیر b که از نوع float کوتاه شده است.

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

لیست دنباله ای مرتب از موارد است. این یکی از پرکاربردترین نوع داده در پایتون است و بسیار انعطاف پذیر است. همه موارد موجود در لیست نیازی به یک نوع ندارند.

اعلام لیست کاملاً ساده و راحت است. عناصر موجود در لیست با ویرگول از هم جدا می شوند در داخل براکت [] قرار می گیرند.

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[2] =  15
a[0:3] =  [5, 10, 15]
a[5:] =  [30, 35, 40]

 

لیست ها قابل تغییر هستند، به این معنی که می توان مقدار عناصر یک لیست را تغییر داد.

a = [1, 2, 3]
a[2] = 4
print(a)

 

خروجی:

[۱, ۲, ۴]

 

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

تاپل ها (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

 

خروجی:

t[1] =  program
t[0:3] =  (5, 'program', (1+3j))
Traceback (most recent call last):
  File "test.py", line 11, in <module>
    t[0] = 10
TypeError: 'tuple' object does not support item assignment

 

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

رشته دنباله ای از کاراکترهای یونیکد است. برای نمایش رشته ها می توانیم از نقل قول های منفرد یا نقل قول های دوتایی استفاده کنیم. رشته های چند خطی را می توان با نقل قول های سه گانه ، ”’ یا “”” نشان داد.

s = "This is a string"
print(s)
s = '''A multiline
string'''
print(s)

 

خروجی:

This is a string
A multiline
string

 

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

s = 'Hello world!'
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'

 

خروجی:

s[4] =  o
s[6:11] =  world
Traceback (most recent call last):
  File "<string>", line 11, in <module>
TypeError: 'str' object does not support item assignment

 

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

مجموعه در پایتون (Set) مجموعه ای از عناصر فاقد ترتیب یکتا از موارد منحصر به فرد است. مقادیر یک مجموعه درون کروشه {} تعریف می شوند و با کاما در داخل پرانتزها از یک دیگر جدا می شوند. موارد موجود در یک مجموعه ترتیب خاصی ندارند.

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

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

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

 

خروجی:

a =  {1, 2, 3, 4, 5}
<class 'set'>

 

ما می توانیم عملیات مجموعه ای مانند اتحاد و اشتراک دو مجموعه را انجام دهیم. مجموعه ها مقادیر منحصر به فردی دارند. آنها موارد تکراری را حذف می کنند.

a = {1,2,2,3,3,3}
print(a)

 

خروجی:

{۱, ۲, ۳}

 

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

>>> 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

 

دیکشنری در برنامه نویسی پایتون

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

دیکشنری به طور کلی زمانی استفاده می شود که مقدار زیادی داده داشته باشیم. دیکشنری ها برای بازیابی داده ها بهینه شده اند. برای بازیابی مقدار باید کلید را بدانیم.

در پایتون، دیکشنری ها درون کروشه ها {} تعریف می شوند.  که هر مورد به صورت 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]);

 

خروجی:

<class 'dict'>
d[1] =  value
d['key'] =  2
Traceback (most recent call last):
  File "<string>", line 9, in <module>
KeyError: 2

 

 

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

ما می توانیم بین انواع داده های مختلف با استفاده از توابع تبدیل نوع مختلف مانند int () ، float () ، str () و غیره تبدیل کنیم.

>>> float(5)
۵٫۰

 

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

>>> int(10.6)
۱۰
>>> int(-10.6)
-۱۰

 

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

>>> float('2.5')
۲٫۵
>>> str(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])
{۱, ۲, ۳}
>>> tuple({5,6,7})
(۵, ۶, ۷)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']

 

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

>>> dict([[1,2],[3,4]])
{۱: ۲, ۳: ۴}
>>> dict([(3,26),(4,44)])
{۳: ۲۶, ۴: ۴۴}

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه