LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

این وبلاگ به بحث پیرامون لینوکس و امنیت و زبان برنامه نویسی تحت لینوکس می پردازد.

طبقه بندی موضوعی

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

پنجشنبه, ۱۵ خرداد ۱۳۹۳، ۱۲:۵۶ ب.ظ

متغیرها فضاهای رزرو شده در مموری هستند که مقادیری را ذخیره میکنند. این بدان معنی ست که وقتی شما متغیری را تعریف میکنید مقداری از فضا در مموری را رزرو میکنید.

با توجه به نوع متغیر مترجمی وجود دارد که تشخیص میدهد چه چیزی میتواند در مموری رزرو شده ذخیره شود. با توجه به توضیحات داده شده شما میتوانید داده هایی از توع integer یا کاراکترها یا ... را ذخیره کنید.


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

نیازی نیست تا شما مشخص کنید که متغیر تعریف شده از چه نوعی می باشد. پایتون این کار را به صورت خودکار انجام میدهد. شما میتوانید مقدار متغیر را با علامت = مشخص کنید:

#!/usr/bin/python
counter = 100      # An integer assignment
miles = 1000.0     # A floating point
name = "john"      # A string
print counter
print miles
print name

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


تخصیص چندتایی

در پایتون متغیرها را به روش دیگری  نیز که به طور همزمان مقداردهی میشوند میتوان تعریف کرد که در ادامه مثالی از آن آورده شده است:

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

در مثال بالا متغیر اول و دوم از نوع عدد و متغیر سوم از نوع رشته می باشد.


انواع استاندارد داده

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


- Numbers

- String

- List

- Tuple

- Dictionary


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

نوع ذخیره این مقادیر در حافظه از نوع عددی ست. وقتی شما مقداری را به متغیری میدهید بلافاصله اشیاء عدد برای تخصیص مقادیر به آنها ایجاد میشوند:

var1 = 1
var2 = 10


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

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


همچنین شما میتوانید یک متغیر یا تعدادی از متغیرها را با استفاده از همان دستور به صورت زیر حذف کنید:

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. -.6545+0J
-0x260 -052318172735L -32.54e100 3e+26J
0x69 -4721885298529L 70.2-E12 4.53e-7j


پایتون به شما این اجازه را میدهد که برای بیان اعداد long از l نیز استفاده کنید اما بخاطر اشتباه نگرفتن آن با عدد 1 به شما توصیه میکند از حروف بزرگ استفاده کنید.


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

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

از عملگر + برای پیوند دادن دو رشته به یکدیگر و از عملگر * برای تکرار استفاده میشود. به عنوان مثال:

#!/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


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

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


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

بیشترین داده های چندمنظوره در پایتون لیست ها هستند. لیست ها درون [] تعریف میشوند. برای بهم بهتر میشود گفت که تقریبا لیست ها همان آرایه ها در زبان C هستند با این تفاوت که خانه های موجود در لیست ها هر کدام میتواند یک نوع باشد. در لیست ها برای جداسازی از عملگر [] و [:] استفاده میشود. همچنین اندیس در آنها مانند رشته ها از 0 تا آخرین خانه منهای 1 می باشد. از عملگر + جهت پیوست و از * برای تکرار استفاده میشود. بعنوان مثال:

#!/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


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

['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/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


بعد از اجرای اسکریپت خروجی زیر برای شما چاپ خواهد شد:

('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/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 یا هش های یافت شده در پرل می باشند. دیکشنری ها میتوانند هر نوعی از داده باشند که البته معمولا از نوع عددی یا رشته ای می باشند. دیشکنری ها با {} تعریف میشوند و نحوه دسترسی به آنها بوسیله عملگر [] می باشد. برای مثال:

#!/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


اسکریپت بالا خروجی زیر را برای شما نمایش خواهد داد:

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


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

گاهی اوقات وقتی شما دارید کد میزنید نیاز دارید تا نوعی از داده رو به نوعی دیگر تغییر دهید. مثلا عددی رو از ورودی میگیرید که نیازه تا به اون در یک جایی از برنامه به دید رشته نگاه کنید نه اینتیجر. در این مواقع شما میتونید نوع داده ها رو به نوعی دیگه تبدیل کنید. من در ادامه جدولی مخصوص این کار رو برای شما قرار میدم:

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.


نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی