Python Variables and Data Types
متغییرها چیزی جز فضای رزرو شده ای در حافظه برای ذخیره مقادیر مورد نظر نیستند. این بدان معنی است که وقتی یک متغییر ایجاد می کنید، در حقیقت فضایی را در حافظه رزرو می کنید.
بر اساس نوع داده اختصاص داده شده به متغییر، مترجم زبان پایتون حافظه مورد نیاز را اختصاص داده و تصمیم می گیرد که چه داده ای را می توان در حافظه رزرو شده ذخیره کرد. بنابراین، با اختصاص دادن انواع داده های مختلف به متغییرها، می توانید Integers, decimals و یا characters را در این متغییرها ذخیره کنید.
مقداردهی به متغییرها — Assigning Values to Variables
در پایتون نیاز به تعریف دقیق متغییرها ندارید. ایجاد یک متغییر به سادگی و با مقداردهی به آن ایجاد می شود. عملگری که در سمت چپ = قرار دارد نام متغییر و عملگری که در سمت راست آن قرار دارد مقدار آن است. لطفا به مثال زیر توجه کنید:
#!/usr/bin/python3
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = “John” # A string
print (counter)
print (miles)
print (name)
در مثال فوق ۱۰۰، ۱۰۰۰٫۰ و Jone مقادیر و counter, milrs و name اسامی متغییرها هستند.
تخصیص چندگانه — Multiple Assignment
پایتون این اجازه را به شما می دهد که همزمان به چندین متغییر مقداری یکسان دهید:
>>> a = b = c = 1
در این مثال هر سه متغییر دارای مقداری از نوع integer هستند که همگی به یک قسمت واحد از حافظه اشاره می کنند. همچنین می توانید مقادیر مختلفی را به متغییرهای مختلف مرتبط نمائید:
>>> a, b, c = 1, 2, “john”
در عبارت فوق همانطور که مشخص است دو مقدار عددی یا integer به متغییرهای a و b مقداردهی شده و مقدار رشته ای john به متغییر c.
انواع داده های استاندارد — Standard Data Types
داده ها در حافظه انواع مختلفی دارند. به طور مثال سن یک فرد در حافظه به صورت عدد ذخیره شده و آدرس به صورت حروف الفبا و در قالب کاراکتر. زبان پایتون دارای انواع داده های مختلف استاندارد است که عملیات ممکن روی آنها تعریف شده و روش ذخیره سازی متناسب با هر یک از آنها استفاده می شود.
– Numbers
– String
– List
– Tuple
– Dictionary
اعداد در پایتون — Python Numbers
نوع داده Numeric مقادیر عددی را ذخیره می کنند. اشیاء عددی یا Numeric هنگامی ایجاد می شوند که مقداری را به آنها اختصاص دهید.
var1 = 1
var2 = 10
شما می توانید با استفاده از دستور del رفرنس به یک شیء عددی را حذف کنید.
del var1[,var2[,var3[….,varN]]]]
با استفاده از این دستور می توانید یک متغییر تکی و یا تعدادی از متغییرها را همزمان حذف کنید:
del var
del var_a, var_b
پایتون از سه نوع متقاوت از داده های عددی یا numeric پشتیبانی می کند:
– int (signed integers)
– float (floating point real – values)
– complex (complex numbers)
نوع داده integer در پایتون نسخه ۳ معرف long integer است. در نتیجه نوع داده مستقلی با نام long وجود ندارد:
INT | FLOAT | COMPLEX |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3+e18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2-E12 | 4.53e-7j |
رشته ها در پایتون — Python Strings
رشته ها در پایتون معرف تعدادی کاراکتر به هم پیوسته است که در بین کتیشن مارک قرار گیرند. برای پایتون single و یا double کتیشن فرقی نمی کند. برای دسترسی به آرایه ای از رشته ها می توانید با استفاده از اپراتور کروشه ([] و [:]) استفاده کنید. شاخص از ۰ شروع می شود و -۱ نشان دهنده انتهای رشته است.
با استفاده از عملگر (+) برای به هم متصل کردن رشته ها استفاده کنیم. همچنین برای تکرار یک رشته می توانیم از عملگر (*) استفاده کنیم. به مثال های زیر توجه کنید:
#!/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
لیست ها در پایتون — Python Lists
لیست ها از انواع داده های ترکیبی پایتون هستند. لیست شامل مقادیری است که توسط کاما جدا شده و درون [] قرار دارند. لیست ها تا حدودی شبیه به آرایه ها در زبان C هستند. یکی از تفاوت های بین آنها این است که تمام اقلام متعلق به یک لیست لازم نیست که از یک نوع بوده و می تواند از نوع داده های مختلف باشند.
برای دسترسی به آیتم های ذخیره شده و یا دخیره مقادیر در لیست از عملگرهای [] و [:] استفاده می شود. استفاده از عملگرهای + و * نیز مطابق مثال زیر مقدور است:
#!/usr/bin/python3
list = [ ‘abcd’, ۷۸۶ , ۲٫۲۳, ‘john’, ۷۰٫۲ ]
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’, ۷۸۶, ۲٫۲۳, ‘john’, ۷۰٫۲۰۰۰۰۰۰۰۰۰۰۰۰۰۳]
abcd
[786, 2.23]
[2.23, ‘john’, ۷۰٫۲۰۰۰۰۰۰۰۰۰۰۰۰۰۳]
[۱۲۳, ‘john’, ۱۲۳, ‘john’]
[‘abcd’, ۷۸۶, ۲٫۲۳, ‘john’, ۷۰٫۲۰۰۰۰۰۰۰۰۰۰۰۰۰۳, ۱۲۳, ‘john’]
چندتایی ها در پایتون — Python Tuples
چندتایی یا tuple در نوع دیگری از داده های ترکیبی پایتون همانند list است. tuple شامل تعدادی از مقادیر جدا شده با کاما است. با این حال، بر خلاف لیست ها، مقادیر داخل پرانتز قرار می گیرند.
تفاوت اصلی بین list و tuple عبارتند از: لیست ها در براکت ها [] محصور می شوند و عناصر و اندازه آنها می تواند تغییر کند، در حالی که tuple در پرانتز () تعبیه شده اند و نمی توان آنها را به روز کرد. tuple ها را می توان به عنوان لیست های فقط خواندنی فرض کرد. به مثال زیر توجه کنید:
#!/usr/bin/python3
tuple = ( ‘abcd’, ۷۸۶ , ۲٫۲۳, ‘john’, ۷۰٫۲ )
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’, ۷۸۶, ۲٫۲۳, ‘john’, ۷۰٫۲۰۰۰۰۰۰۰۰۰۰۰۰۰۳)
abcd
(786, 2.23)
(2.23, ‘john’, ۷۰٫۲۰۰۰۰۰۰۰۰۰۰۰۰۰۳)
(۱۲۳, ‘john’, ۱۲۳, ‘john’)
(‘abcd’, ۷۸۶, ۲٫۲۳, ‘john’, ۷۰٫۲۰۰۰۰۰۰۰۰۰۰۰۰۰۳, ۱۲۳, ‘john’)
نمونه کدهای زیر با استفاده از tuple مجاز نیستند و جهت رسیدن به نیازمندی ها می بایست از list استفاده نمود:
#!/usr/bin/python3
tuple = ( ‘abcd’, ۷۸۶ , ۲٫۲۳, ‘john’, ۷۰٫۲ )
list = [ ‘abcd’, ۷۸۶ , ۲٫۲۳, ‘john’, ۷۰٫۲ ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
دیکشنری ها در پایتون — Python Dictionary
دیکشنری ها در پایتون به نوعی مدلی از جداول Hash یا همان hash-table است. عملکرد آنها همانند آرایه های انجمنی (associative array) در زبان Perl هستند و شامل جفت های کلیدی و یا key-value pairs هستند. کلید واژه های دیکشنری در پایتون می توانند تقریبا از هر نوعی باشند، اما معمولا شامل اعداد یا رشته ها هستند. از سوی دیگر، مقادیر می توانند هر شیء دلخواه قابل استفاده در پایتون باشند.
برای تعریف دیکشنری در پایتون از {} استفاده می کنیم. همچنین برای دستیابی به مقادیر و یا مقدار دهی به دیکشنری می بایست از [] استفاده کنیم. به مثال زیر توجه کنید:
#!/usr/bin/python3
dict = {}
dict[‘one’] = “This is one”
dict[2] = “This is two”
tinydict = {‘name’: ‘john’,’code’:۶۷۳۴, ‘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’: ۶۷۳۴}
dict_keys([‘name’, ‘dept’, ‘code’])
dict_values([‘john’, ‘sales’, ۶۷۳۴])
توجه کنید که مفهوم مرتب سازی در دیکشنری ها وجود ندارد. البته درست نیست که بگوییم داده ها در دیکشنری نامنظم هستند. بلکه به سادگی در دیکشنری قرار گرفته اند.
تبدیل انواع داده ها به یکدیگر — Data Type Conversion
شاید زمان هایی را در برنامه نویسی تجربه کرده باشید که نیاز دارید تایپ های داده های پیش فرض موجود را به هم تبدیل کنید. برای انجام این کار به سادگی می توانید از اسم نوع داده به عنوان یک تابع و یا function استفاده کنید.
توابع پیش فرض بسیاری برای تبدیل انواع داده ها در پایتون پیشبینی شده است. به فهرست این توابع و کاربر آنها در جدول زیر توجه کنید:
ردبف | عنوان تابع |
---|---|
۱ | int(x [,base]) |
2 | float(x) |
3 | complex(real [,imag]) |
4 | str(x) |
5 | repr(x) |
6 | eval(str) |
7 | tuple(s) |
8 | list(s) |
9 | set(s) |
10 | dict(d) |
11 | frozenset(s) |
12 | chr(x) |
13 | unichr(x) |
14 | ord(x) |
15 | hex(x) |
16 | oct(x) |
امید است با مطالعه این مقاله توانسه باشم تا حدودی شما را با انواع داده های قابل استفاده در پایتون آشنا کنم.