متغیرها در پایتون فضاهای رزرو شده در مموری هستند که مقادیری را ذخیره میکنند. این بدان معنی ست که وقتی شما متغیری را تعریف میکنید مقداری از فضا در مموری را رزرو میکنید. با توجه به نوع متغیر، مترجمی وجود دارد که تشخیص میدهد چه چیزی میتواند در مموری رزرو شده ذخیره شود. با توجه به توضیحات داده شده شما میتوانید داده هایی از توع integer یا کاراکترها یا … را ذخیره کنید.
تخصیص مقدار به متغیرها
نیازی نیست مشخص کنید که متغیر تعریف شده از چه نوعی باشد. پایتون این کار را به صورت خودکار انجام میدهد. شما میتوانید مقدار متغیر را با علامت = مشخص کنید:
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 |
a, b, c = 1, 2, "john" |
در مثال بالا متغیر اول و دوم از نوع عدد و متغیر سوم از نوع رشته می باشد.
انواع استاندارد داده
داده هایی که در حافظه یا مموری ذخیره میشوند میتوانند انواع مختلفی داشته باشند. برای مثال اطلاعات یک شخص اعم از سن از نوع عدد و آدرس او از نوع رشته میتواند در حافظه ذخیره شود. پایتون روش های مختلفی برای ذخیره آنها دارد که به آنها اشاره میکنم:
- Numbers
- String
- List
- Tuple
- Dictionary
اعداد در پایتون
نوع ذخیره این مقادیر در حافظه از نوع عددی ست. وقتی شما مقداری را به متغیری میدهید بلافاصله اشیاء عدد برای تخصیص مقادیر به آنها ایجاد میشوند:
1 2 |
var1 = 1 var2 = 10 |
شما میتوانید منبع یک شی عددی را با دستور del حذف کنید. قاعده آن به صورت زیر است:
1 |
del var1[,var2[,var3[....,varN]]]] |
همچنین شما میتوانید یک متغیر یا تعدادی از متغیرها را با استفاده از همان دستور به صورت زیر حذف کنید:
1 2 |
del var del var_a, var_b |
پایتون انواع عددی زیر را پشتیبانی میکند:
int: اینتیجر های علامت دار
long: اینتیجرهای طولانی که میتوانند به فرمت اکتال یا هگزادسیمال نیز باشند
float: شامل اعداد حقیقی می شود
complex: اعداد مخلوط را شامل می شود
در ادامه توجه شما را به مثالی در این خصوص جلب میکنم:
complex |
float |
long |
int |
۳٫۱۴j |
۰٫۰ |
۴۹۳۷۲۶۶L |
۱۰ |
۴۵٫j |
۱۵٫۲۰ |
۰x83729L- |
۱۰۰ |
۹٫۳۲۲e-36j |
۲۱٫۹- |
۰۱۲۲L |
۲۹۳- |
.۸۷۶j |
۳۲٫۳+e18 |
۰xDFGDSDF1 |
۰۸۰ |
.۶۵۴۵+۰j- |
۹۰٫- |
۵۳۹۴۴۵۳۲۲L |
۴۹- |
۳e+26j |
۳۲٫۵۴e100- |
۰۵۲۳۴۹۵۹۳۴۳L- |
۰x260 |
۴٫۵۳e-7j |
۷۰٫۵۴e100 |
۴۷۳۲۴۳۵۴۶L- |
۰x69 |
پایتون به شما این اجازه را میدهد که برای بیان اعداد long از l نیز استفاده کنید اما بخاطر اشتباه نگرفتن آن با عدد ۱ به شما توصیه میکند از حروف بزرگ استفاده کنید.
رشته ها در پایتون
رشته در پایتون به تعداد متوالی از کاراکتر ها گفته میشود. عملگری که برای رشته ها در پایتون مورد استفاده قرار میگیرد [] و [:] می باشد. شمارنده آن نیز میتواند از ۰ تا تعداد کاراکتر ها منهای یک باشد.
از عملگر + برای پیوند دادن دو رشته به یکدیگر و از عملگر * برای تکرار استفاده میشود. به عنوان مثال:
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 3rd 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'] |
تاپل ها در پایتون
تاپل ها در پایتون چیزی شبیه به لیست ها هستند. تاپل ها تعدادی از مقادیر هستند که با کاما از یکدیگر جدا میشوند. تاپل ها داخل () تعریف میشوند.
تفاوت اصلی بین لیست ها و تاپل ها این است که لیست ها داخل [] تعریف میشوند و المان ها و اندازه آن ها قابل تغییر است در حالیکه تاپل ها درون () تعریف میشوند و نمیتوانند آپدیت شوند. تاپل ها را نیز میتوان لیست های فقط خواندنی نامید. برای مثال:
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') |
همانطور که گفته شد ما نمیتوانیم تاپل ها را آپدیت کنیم. در مثال زیر روش ناصحیح و صحیح آن ارائه شده است:
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 |
دیکشنری در پایتون
دیکشنری ها در پایتون شبیه به جدول هش شده می باشد. آنها مانند associative arrays یا هش های یافت شده در پرل می باشند. دیکشنری ها میتوانند هر نوعی از داده باشند که البته معمولا از نوع عددی یا رشته ای می باشند. دیشکنری ها با {} تعریف میشوند و نحوه دسترسی به آنها بوسیله عملگر [] می باشد. برای مثال:
1 2 3 4 5 6 7 8 9 10 11 |
#!/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'] |
تبدیل نوع داده
گاهی اوقات وقتی شما در حال کد زدن هستید نیاز دارید تا نوعی از داده رو به نوعی دیگر تغییر دهید. مثلا عددی رو از ورودی میگیرید که نیازه تا به اون در یک جایی از برنامه به دید رشته نگاه کنید نه اینتیجر. در این مواقع شما میتونید نوع داده ها رو به نوعی دیگه تبدیل کنید. من در ادامه جدولی مخصوص این کار رو برای شما قرار میدم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Function Description int(x [,base]) Converts x to an integer. base specifies th e base if x is a string. long(x [,base] ) Converts x to a long integer. base specifie s the base if x is a string. float(x) Converts x to a floating-point number. complex(real [,imag]) Creates a complex number. str(x) Converts object x to a string representation. repr(x) Converts object x to an expression string. eval(str) Evaluates a string and returns an object. tuple(s) Converts s to a tuple. list(s) Converts s to a list. set(s) Converts s to a set. dict(d) Creates a dictionary. d must be a sequence of (key,value) tuples. frozenset(s) Converts s to a frozen set. chr(x) Converts an integer to a character. unichr(x) Converts an integer to a Unicode character. ord(x) Converts a single character to its integer value. hex(x) Converts an integer to a hexadecimal string. oct(x) Converts an integer to an octal string. |