LINUX

آموزش لینوکس

LINUX

آموزش لینوکس

LINUX

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

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

عملگرها در پایتون

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

عملگر چیست؟

یک جواب ساده برای این سوال اینه که وقتی یک عبارتی مثل 4 + 5 داریم و جمعشون برابر 9 میشه به 4 و 5 میگیم عملوند و به + میگیم عملگر. یعنی چیزی که روی عملوند ها تاثیر میذاره و ی خروجی به ما میده.  در زیر به انواع عملگرها اشاره میکنم:


- عملگرهای ریاضی یا Arithmetic Operators

- عملگرهای قیاسی یا Comparison Operators

- عملگرهای انتسابی یا Assignment Operators

- عملگرهای منطقی یا Logical Operators

- عملگرهای بیتی یا Bitwise Operators

- عملگرهای عضوی یا Membership Operators

- عملگرهای شناسه یا Identity Operators


حالا میخوام ی نگاه دقیق تری به این عملگر ها بندازم.


عملگرهای ریاضی در پایتون

اگر فرض کنیم متغیر a مقداری برابر 10 و متغیر b دارای مقدار 20 هستند سپس:

- +: دو مقدار را با هم جمع میکند -           a+b=30

- - : دو مقدار را از هم کم میکند -         a - b = -10

- * : دو مقدار را در هم ضرب میکند -        a*b=200

- / : خارج قسمت تقسیم دو عدد را نشان میدهد -  a/b=2

- % : باقیمانده تقسیم دو عدد بر یکدیگر را نشام میدهد - a%b=0

- ** : عدد اول را به توان عدد دوم میبرد - a**b=> ده به توان بیست

- // : خارج قسمت تقسیم دو عدد بر یکدیگر را به صورت عدد صحیح نشان میدهد. برای مثال 4=2//9


       

عملگرهای قیاسی در پایتون

با همان فرض داریم:

- == : چک میکند که آیا مقادیر a و b با هم برابر هستند یا خیر. اگر برابر بودند شرط درست است.

- =! : چک میکند که آیا مقدار آن دو متغیر با هم نابرابر است یا خیر. اگر نابرابر بود شرط درست است.

- <> : این عملگر دقیقا مانند عملگر قبل می باشد.

- < : چک میکند که آیا متغیر اول بزرگتر از دومی است یا خیر. اگر بزرگتر بود شرط درست است.

- > : چک میکند که آیا متغیر اول کوچکتر از دومی است یا خیر. اگر کوچکتر بود شرط درست است.

- =< : چک میکند آیا متغیر اول بزرگتر یا مساوی دومی است یا خیر. اگر بزرگتر یا مساوی بود شرط درست است.

- => :چک میکند که آیا متغیر اول کوچکتر یا مساوی دومی است یا خیر. اگر کوچکتر یل مساوی بود شرط درست است.


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

با فرض قبل داریم:


- = : خروجی دو متغیر را در دیگری میریزد بعنوان مثال  c=a+b

- =+ : این عملگر به صورت c += a می باشد که برابر با c = c+a است

- =- : این عملگر به صورت c -= a می باشد که برابر با c = c-a است

- =* : این عملگر به صورت c *= a می باشد که برابر با c = c*a است

- =/ : این عملگر به صورت c /= a می باشد که برابر با c = c/a است

- =% : این عملگر به صورت c %= a می باشد که برابر با c = c%a است

- =** : این عملگر به صورت c **= a می باشد که برابر با c = c**a است

- =// : این عملگر به صورت c //= a می باشد که برابر با c = c//a است


عملگرهای بیتی

اگر فرض کنیم مقدار a برابر با 60 و مقدار b برابر با 13 می باشد خواهیم داشت:

a   = 0011 1100
b   = 0000 1101
------------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a  = 1100 0011


- & : عملگر باینری AND

- | : عملگر باینری OR

- ^ : عملگر باینری XOR

- ~ : عملگر مکمل یکه باینری (در اصل بیت ها را معکوس میکند)

- >> : عملگر باینری شیفت به چپ دهنده بیت ها

- << : عملگر باینری شیفت به راست دهنده بیت ها


به مثال های بیشری در این باره توجه کنید:

#!/usr/bin/python
a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0
c = a & b;        # 12 = 0000 1100
print "Line 1 - Value of c is ", c
c = a | b;        # 61 = 0011 1101 
print "Line 2 - Value of c is ", c
c = a ^ b;        # 49 = 0011 0001
print "Line 3 - Value of c is ", c
c = ~a;           # -61 = 1100 0011
print "Line 4 - Value of c is ", c
c = a << 2;       # 240 = 1111 0000
print "Line 5 - Value of c is ", c
c = a >> 2;       # 15 = 0000 1111
print "Line 6 - Value of c is ", c


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

Line 1 - Value of c is 12
Line 2 - Value of c is 61
Line 3 - Value of c is 49
Line 4 - Value of c is -61
Line 5 - Value of c is 240
Line 6 - Value of c is 15


عملگرهای منطقی پایتون

در زبان پایتون بعضی عملگرها منطقی هستند که در ادامه به توضیح خواهم پرداخت:


- and : اگر هر دو عملوند درست باشند شرط درست است.

- or : اگر یکی از عملوند ها درست باشد شرط درست است(یکی از عملوند ها صفر نباشد شرط درست است.)

- not : بیان میکند که اگر شرط درست است عملگر not آن را نادرست میکند.

  مثال: (not(a and b


عملگرهای عضوی پایتون

هنگام یافتن مقدار در  دنباله استفاده میشود:


- in : وقتی درست است که متغیری را در دنباله ای پیدا کند  و وقتی نادرست است که متغیر در دنباله یافت نشود.


- not in : اگر متغیری در دنباله یافت نشود شرط صحیح و اگر متغیر در دنباله یافت شود شرط ناصحیح است.


عملگر های شناسه در پایتون

متغیر های شناسه نیز موقعیت دو شی در حافظه را با هم مقایسه میکنند:


- is : شرط درست است اگر یک طرف عملگر به موقعیت شی مشابه دیگر اشاره کند و در غیر این صورت شرط نادرست است.

- is not : شرط نادرست است اگر متغیرها در یک طرف عملگر به شی مشابه دیگر اشاره کند و در غیر این صورت شرط درست است.



اولویت عملگر های در پایتون

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

**
~  +  -
*  /  %  //
+  -
>>  <<
&
^  |
<=  <  >  >=
<>  ==  !=
=  %=  /=  -=  +=  *=
is   is not 
not  or  and


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

#!/usr/bin/python
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d       #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ",  e
e = ((a + b) * c) / d     # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ",  e
e = (a + b) * (c / d);    # (30) * (15/5)
print "Value of (a + b) * (c / d) is ",  e
e = a + (b * c) / d;      #  20 + (150/5)
print "Value of a + (b * c) / d is ",  e


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

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50

نظرات  (۲)

گرم
تشکر

ارسال نظر

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