متغیرها در پایتون
متغیر ها محلی برای نگهداری مقادیر مختلف می باشند و زمانی که یک متغیر تعریف می شود، مقداری از حافظه سیستم برای آن متغیر اختصاص می یابد. مترجم با توجه به نوع متغیر تعریف شده، میزان حافظه اختصاصی و این که چه چیزی باید درون آن متغیر قرار گیرد، را مشخص می کند
مقدار دهی به متغیر ها در پایتون
در زبان برنامه نویسی پایتون نیازی نیست تا نوع متغیر را به صراحت اعلام کنید و زمانی که شما به یک متغیر مقدار می دهید، نوع آن نیز به طور خودکار مشخص می شود. برای مقدار دهی به یک متغیر باید از علامت (=) استفاده کنید.
عملوندی که در سمت چپ عملگر = قرار می گیرد، نام متغیر می باشد و عملوندی که در سمت راست عملگر = قرار می گیرد، مقداری است که باید داخل متغیر ذخیره شود. برای مثال:
1 2 3 4 5 6 7 | #!/usr/bin/python counter = 100 # An integer assignment miles = 1000.0 # A floating point name = "John" # A string print counter print miles print name |
نتیجه:
1 2 3 | 100 1000.0 John |
مقدار دهی چندگانه
پایتون به شما اجازه می دهد تا به طور همزمان یک مقدار واحد را به چندین متغیر اختصاص دهید. برای مثال:
1 | a = b = c = 1 |
در مثال بالا مقدار هر سه متغیر 1 است و همه آن ها به یک محل از حافظه اشاره می کنند. همچنین مقدار دهی چندگانه به روش زیر نیز درست است:
1 | a,b,c = 1,2,"john" |
در مثال بالا مقدار متغیر a برابر با 1، مقدار متغیر b برابر با 2 و مقدار متغیر c برابر با john می باشد.
انواع داده استاندارد
داده های ذخیره شده در حافظه می توانند از انواع مختلفی باشند. به عنوان مثال، سن فرد به عنوان یک عدد صحیح ذخیره می شود و آدرس وی به عنوان کاراکترهای الفبا و عددی ذخیره می شود.
در زبان پایتون 5 نوع داده استاندارد وجود دارد:
- اعداد (Numbers)
- رشته (String)
- لیست (List)
- Tuple
- Dictionary
اعداد در پایتون
نوع داده Number برای ذخیره سازی مقادیر عددی استفاده می شود. زمانی که به یک متغیر مقدار عددی می دهید، شیء Number ایجاد می شود،. برای مثال:
1 2 | var1 = 1 var2 = 10 |
با استفاده از کلمه کلیدی del می توانید، یک شیء را از بین ببرید. Syntax استفاده از دستور del به شکل زیر است:
1 | del var1[,var2[,var3[....,varN]]]] |
همچنین شما می توانید یک یا چند شیء را نیز با استفاده از دستور del از ببین ببرید. برای مثال:
1 2 | del var del var_a, var_b |
در زبان برنامه نویسی پایتون چهار نوع عددی وجود دارد:
- int
- long
- float
- complex
در جدول زیر برای هر نوع عددی چند مثال وجود دارد:
int | long | float | complex |
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
-0490 | 535633629843L | -90.0 | -.6545+0J |
-0x260 | -052318172735L | -32.54e100 | 3e+26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
- همان طور که در جدول بالا مشاهده می کنید، در انتهای مقادیر long از حرف L استفاده شده است. امکان استفاده از l نیز وجود دارد، اما ممکن است با عدد 1 اشتباه گرفته شود. بنابراین توصیه می شود از L استفاده کنید.
- یک عدد از نوع complex شامل یک جفت از اعداد حقیقی شناور به صورت x + yj می باشد، که x و y اعداد واقعی هستند و j بخش موهومی است.
رشته ها در پایتون
رشته ها در پایتون به عنوان مجموعه از کاراکتر ها شناخته می شوند که درون علامت نقل قول قرار دارند. برای دسترسی به زیر رشته ها می توانید از عملگر براکت ([] و [:]) استفاده کنید. روش استفاده از این عملگر در مثال زیر مشاهده می کنید.
عملگر + برای ترکیب دو رشته و * برای تکرار یک رشته استفاده می شود. به مثال زیر توجه کنید.
مثال:
1 2 3 4 5 6 7 8 | #!/usr/bin/python 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 |
نتیجه اجرای کد بالا:
1 2 3 4 5 6 | Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST |
لیست ها در پایتون
لیست ها یک نوع داده متنوع و پر کاربرد در انواع داده پایتون به حساب می آیند. یک لیست شامل آیتم های مختلفی است که توسط کاما (,) از یک دیگر جدا شده اند. مقادیر یک لیست بین علامت [] قرار می گیرد. تا حدودی لیست ها شبیه به آرایه ها در زبان برنامه نویسی C هستند. تنها تفاوتی که بین آن ها وجود دارد این است که داده های موجود در یک لیست می توانند از نوع های مختلفی باشند.
برای دسترسی به آیتم های یک لیست می توانید از عملگر براکت ([] و [:]) استفاده کنید. عملگر + برای ترکیب دو لیست و * برای تکرار یک لیست استفاده می شود.
به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 | #!/usr/bin/python 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 4th print list[2:] # Prints elements starting from 3rd element print tinylist * 2 # Prints list two times print list + tinylist # Prints concatenated lists |
نتیجه:
1 2 3 4 5 6 | ['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'] |
Tuples در پایتون
یک نوع داده دیگر در پایتون Tuple است که شباهت زیادی به لیست ها دارد. یک Tuple شامل آیتم های مختلفی است که توسط کاما (,) از یک دیگر جدا شده اند. برخلاف لیست، Tuple بین علامت پرانتز () قرار می گیرد. تفاوت اصلی که بین لیست و Tuple وجود دارد این است که در لیست داده ها بین علامت [] قرار میگیرد و سایز و تعداد آیتم های آن قابل تغییر است، اما در Tuple داده ها بین علامت () قرار میگیرد و داده های آن قابل تغییر نیست. به عبارت دیگر Tuple نوع فقط خواندنی (read-only) لیست می باشد.
1 2 3 4 5 6 7 8 9 | #!/usr/bin/python tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 ) tinytuple = (123, 'john') print tuple # Prints complete list print tuple[0] # Prints first element of the list print tuple[1:3] # Prints elements starting from 2nd till 3rd print tuple[2:] # Prints elements starting from 3rd element print tinytuple * 2 # Prints list two times print tuple + tinytuple # Prints concatenated lists |
نتیجه:
1 2 3 4 5 6 | ('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') |
کد زیر نامعتبر است زیرا ما قصد مقدار دهی به Tuple را داریم. اما انجام همچین کاری با لیست معتبر است.
1 2 3 4 5 | #!/usr/bin/python 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 |
Dictionary در پایتون
نوع داده Dictionary در زبان پایتون شبیه به نوع داده لیست می باشد اما تفاوت اساسی بین این دو وجود دارد و آن هم امکان تعیین کلید برای هر یک از آیتم های Dictionary می باشد که با استفاده از این کلید ها می توان به آیتم ها مختلف دسترسی داشت. کلیدی که برای آیتم ها استفاده می شود می تواند از هر نوعی باشد اما به طور معمول از نوع عدد یا رشته استفاده می شود. از سوی دیگر مقادیر یک Dictionary می توانند، از هر نوع دلخواهی باشند.
برای ایجاد یک Dictionary از علامت {} استفاده می شود و برای تعریف مقادیر در خطوط دیگر از علامت [] استفاده می شود. مثال زیر نحوه تعریف و استفاده از یک Dictionary را نشان می دهد:
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/python 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 |
نتیجه:
1 2 3 4 5 | This is one This is two {'dept': 'sales', 'code': 6734, 'name': 'john'} ['dept', 'code', 'name'] ['sales', 6734, 'john'] |
هیچی مفهومی از مرتب سازی در بین آیتم های یک Dictionary وجود ندارد. اما اینکه بگویم Dictionary ها “بدون نظم هستند” اشتباه است.
تبدیل نوع در پایتون
کاهی اوقات نیاز است تا یک نوع داده را به نوع دیگر تبدیل کنیم. در این حالت به راحتی می توانید از نام آن نوع به عنوان تابعی برای تبدیل نوع استفاده کنید. در لیست زیر چندین مورد از توابع درون ساخت (از پیش تعریف شده) را مشاهده می کنید که برای تبدیل انواع مختلف به یکدیگر مورد استفاده قرار می گیرند. این توابع مقدار تبدیل شده را به عنوان یک شیء جدید باز می گردانند.
ردیف | توابع و توضیحات |
1 | int(x [,base]) x را به نوع عددی تبدیل می کند. |
2 | long(x [,base] ) x را به نوع long تبدیل می کند. |
3 | float(x) x را به عدد اعشاری تبدیل می کند. |
4 | complex(real [,imag]) یک عدد complex ایجاد می کند. |
5 | str(x) x را به نوع رشته تبدیل می کند. |
6 | repr(x) شیء x را به یک عبارت رشته ای تبدیل می کند. |
7 | eval(str) یک رشته را ارزیابی کرده و یک شیء را برمیگرداند. |
8 | tuple(s) شیء s را به Tuple تبدیل می کند. |
9 | list(s) شیء s را به لیست تبدیل می کند. |
10 | set(s) شیء s را به یک مجموعه تبدیل می کند. |
11 | dict(d) یک دیکشنری ایجاد می کند. شیء d باید دنباله به صورت (key, value) باشد. |
12 | frozenset(s) شیء s را به یک مجموعه frozen (یخ زده) تبدیل می کند. |
13 | chr(x) یک عدد را به یک کاراکتر تبدیل می کند. |
14 | unichr(x) یک عدد را به یک کاراکتر یونی کد تبدیل می کند. |
15 | ord(x) یک کاراکتر را به عدد صحیح تبدیل می کند. |
16 | hex(x) یک عدد صحیح را به یک رشته هگزادسیمال تبدیل می کند. |
17 | oct(x) یک عدد صحیح را به یک رشته octal تبدیل می کند. |
هیچ نظری ثبت نشده است