انواع داده ها [ آموزش مقدماتی پایتون قسمت سه ]

  • آخرین بروزرسانی در پنج‌شنبه 28 می 2020

    Average rating 5 / 5. Vote count: 1

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

وابسته به نوع داده ای که قرار است در یک متغیر قرار بگیرد، مفسر زبان حافظه اختصاص می دهد و تصمیم می گیرد که چه نوع مقداری می تواند در آن فضای رزرو شده نگهداری شود. بنابراین شما می توانید انواع داده ها از نوع integer، decimal یا کاراکتری را در متغیر ها نگهداری کنید.

انتصاب مقدار به متغیر

در زبان پایتون نیازی نیست که برای رزرو فضای حافظه متغیر ها را به صورت دستی و قبل از استفاده تعریف کنید. تعریف متغیر به صورت خودکار و در زمانی که شما مقداری را به آن متغیر نسبت می دهید، اتفاق میافتد. برای مقدار دادن به متغیر از علامت مساوی (=) استفاده می شود.

عملوند سمت چپ اپراتور = نام متغیر و عملوند سمت راست مقداری است که قرار است در متغیر نگهداری شود.

برای مثال

#!/usr/bin/python3

counter = 100          # An integer assignment
miles   = 1000.0       # A floating point
name    = "John"       # A string

print (counter)
print (miles)
print (name)

در مثال بالا، 100، 1000.0 و مقدار رشته ای “John” مقادیری هستند که به متغیر های counter، miles و name نسبت داده شده اند. کد بالا نتیجه زیر را در بر خواهد داشت.

100
1000.0
John

انتصاب چندتایی

پایتون این امکان را می دهد که یک مقدار را به طور همزمان به چند متغیر نسبت بدهید.

برای مثال

a = b = c = 1

در مثال بالا، یک شی از نوع integer با مقدار 1 ساخته می شود و همه سه متغیر به فضایی یکسان در حافظه منتصب می شوند. شما همچنین می توانید چند شی را به چند متغیر نسبت بدهید.

برای مثال

a, b, c = 1, 2, "john"

در مثال بالا، دو شی از نوع integer با مقادیر 1 و 2 به دو متغیر با نام های a و b منتصب می شوند و یک شی رشته ای با مقدار “john” به متغیر c نسبت داده می شود.

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

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

پایتون 5 نوع داده استاندارد دارد:

  • Numbers (اعداد)
  • String (رشته)
  • List (فهرست)
  • Tuple (فهرست مرتب غیر قابل تغییر)
  • Dictionary (فهرست متشکل از کلید و مقدار)

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

داده های نوع عددی به صورت مقدار عددی نگهداری می شوند. شی های Number زمانی ساخته می شوند که به آن ها مقدار می دهید.

برای مثال:

var1 = 1
var2 = 10

شما می توانید ارجاع به یک شی عددی را با استفاده از دستور del حذف کنید. دستور del به صورت زیر استفاده می شود.

del var1[,var2[,var3[....,varN]]]]

شما می توانید با استفاده از دستور del یک یا چند شی را حذف کنید.

برای مثال

del var
del var_a, var_b

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

  • int (اعداد علامتدار)
  • float (اعداد اعشاری)
  • complex (اعداد مختلط)

تمام integer ها در پایتون به صورت long integer هستند و بنابراین نوع عددی long در این زبان نداریم.

مثال ها

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

intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3+e18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2-E124.53e-7j

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

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

رشته ها در پایتون از یک سری کاراکتر پشت سرهم که داخل علامت نقل قول (”) قرار می گیرند، ساخته می شوند. در پایتون امکان استفاده از نقل قول تکی (‘) و دو تایی (“) وجود دارد و می توانید بخشی از یک رشته متنی را به کمک اپراتور slice که به صورت [] و [:] هست بدست بیاورید.

علامت به اضافه (+) رشته های متنی را به هم می چسباند و علامت ستاره (*) هم اپراتوری برای تکرار است.

مثال های زیر را ببینید.

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

نتیجه اجرای کد بالا به صورت زیر خواهد بود.

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

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

لیست ها در پایتون یک نوع داده پیچیده و انعطاف پذیر است. یک لیست شامل آیتم هایی که با کاما از یکدیگر جدا می شوند است که داخل یک جفت براکت ([]) قرار گرفته اند. تا حدودی لیست ها شبیه به آرایه ها در زبان C هستند. یکی از تفاوت های بین این دو مفهوم این است که آیتم های یک لیست می تواند از هر نوعی باشد.

به مقادیری که در یک لیست نگهداری می شوند می توان با استفاده از اپراتور slice یعنی [] و [:] دسترسی یافت.

به مثال های زیر توجه کنید.

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Prints complete list
print (list[0])       # Prints first element of the list
print (list[1:3])     # Prints elements starting from 2nd till 3rd 
print (list[2:])      # Prints elements starting from 3rd element
print (tinylist * 2)  # Prints list two times
print (list + tinylist) # Prints concatenated lists

نتیجه اجرای کد بالا به صورت زیر است.

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

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

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

تفاوت اصلی بین لیست ها و تاپل ها این است که لیست ها با براکت تعریف می شوند و المنت ها و اندازه تاپل ها قابل تغییر است در حالی که تاپل ها با پرانتز تعریف می شوند و امکان بروزرسانی تاپل وجود ندارد. به عبارتی دیگر تاپل ها لیست های read-only یا فقط قابل خواندن هستند.

برای مثال

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Prints complete tuple
print (tuple[0])        # Prints first element of the tuple
print (tuple[1:3])      # Prints elements starting from 2nd till 3rd 
print (tuple[2:])       # Prints elements starting from 3rd element
print (tinytuple * 2)   # Prints tuple two times
print (tuple + tinytuple) # Prints concatenated tuple

با اجرای کد بالا نتیجه زیر حاصل می شود.

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

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

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

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

دیکشنری هادر پایتون یک نوع hash-table است. درست مانند آرایه های associative یا hashes که در زبان Perl وجود دارد از زوج های کلید و مقدار تشکیل شده است. کلید دیکشنری می تواند هر نوع داده ای که در پایتون وجود دارد باشد ولی معمولا عددی یا رشته است. مقادیر نیز می توانند هر نوع شی در زبان پایتون باشد.

دیکشنری ها با براکت های {} تعریف می شوند و مقادیر می توانند با استفاده از براکت [] منتصب شوند.

برای مثال

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

اجرای کد بالا نتیجه زیر را در بر دارد.

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

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

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

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

ردیفتابع و توضیح آن
1int(x [,base]) مقدار x را به یک integer تبدیل می کند. پارامتر base نیز مبنای عدد را مشخص می کند که به صورت پیشفرض 10 است.
2float(x) مقدار x را به یک عدد اعشاری تبدیل می کند.
3complex(real [,imag]) یک عدد مختلط می سازد.
4str(x) شی x را به یک رشته متنی تبدیل می کند.
5repr(x) شی x را به یک رشته متنی تعریفی تبدیل می کند.
6eval(str) یک رشته متنی را ارزیابی می کند و یک شی بر می گرداند.
7tuple(s) مقدار s را به یک تاپل تبدیل می کند.
8list(s) مقدار s را به یک لیست تبدیل می کند.
9set(s) مقدار s را به یک set تبدیل می کند.
10dict(d) یک دیکشنری می سازد. d باید ترتیبی از تاپل های زوج کلید و مقدار باشد.
11frozenset(s) مقدار s را به یک frozen set تبدیل می کند.
12chr(x) یک integer را به کاراکتر تبدیل می کند.
13unichr(x) یک integer را به کاراکتر Unicode تبدیل می کند.
14ord(x) یک کاراکتر را به مقدار عددی اش تبدیل می کند.
15hex(x) یک integer را به یک رشته هگزادسیمال تبدیل می کند.
16oct(x) یک integer را به یک رشته اکتال تبدیل می کند.
برای دنبال کردن نوشته های کاپ کد به کانال تلگرامی آن (cupcode_ir@) بپیوندید!
برای ثبت سفارش برنامه نویسی، طراحی وب سایت، بهینه سازی و... در کاپ کد کلیک کنید.

دیدگاه خود را بیان کنید

@