آموزش جامع عملگرها در پایتون
جلسات دوره
مهدی عباسی
مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه
عملگرها در پایتون
در این فصل از آموزش پایتون با مطالب زیر آشنا می شویم:
- انواع عملگر در زبان برنامه نویسی پایتون(Python Data Types)
- عملگرهای محاسباتی (Arithmetic)
- عملگرهای رابطه ای (Relational)
- عملگرهای ترکیبی (Assignment)
- عملگرهای منطقی (Logical)
- عملگرهای بیتی (Bitwise)
عملگرها در پایتون (Python Operators):
عملگرها در پایتون ابزار های هستند که به ما این امکان را می دهد که روی داده ها تغییراتی اعمال کنیم.
این ابزار ها به هفت دسته تقسیم می شوند.
که در این جلسه با پنج ابزار آشنا می شویم:
- عملگرهای محاسباتی (Arithmetic)
- عملگرهای رابطه ای (Relational)
- عملگرهای منطقی (Logical)
- عملگرهای ترکیبی (Assignment)
- عملگرهای بیتی (Bitwise)
عملگرهای محاسباتی (Arithmetic):
این نوع عملگرها همان عملگرهای ریاضی هستند اما کمی در زبان برنامه نویسی پایتون متفاوت است.
مانند: (+ ، - ، * ، / ، // ، ** ، % )
عملگر محاسباتی ( + ): این عملگر جمع است می تواند دو عدد یا حتی دو متن را باهم جمع کند.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیحی مثبت با ارقام بالا در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل جمع (num1) با (num2)
- خروجی: 235876487236856386449
کد:
num1 = 235876487236856386439
num2 = 10
print(num1+num2)
عملگر محاسباتی: ( - ) این عملگر تفریق است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیحی مثبت با ارقام بالا در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل تفریق (num1) با (num2)
- خروجی: 235876487236856386429
کد:
num1 = 235876487236856386439
num2 = 10
print(num1-num2)
عملگر محاسباتی: ( * ) این عملگر ضرب است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیحی مثبت با ارقام بالا در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل ضرب (num1) با (num2)
- خروجی: 2358764872368563864390
کد:
num1 = 235876487236856386439
num2 = 10
print(num1*num2)
عملگر محاسباتی: ( / ) این عملگر تقسیم اعشاری است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیحی مثبت با ارقام بالا در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل تقسیم اعشاری (num1) با (num2)
- خروجی: e+192.358764872368564
کد:
num1 = 235876487236856386439
num2 = 10
print(num1/num2)
عملگر محاسباتی: ( // ) این عملگر تقسیم اعداد صحیح است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیحی مثبت با ارقام بالا در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل تقسیم صحیح (num1) با (num2)
- خروجی: 23587648723685638643
کد:
num1 = 235876487236856386439
num2 = 10
print(num1//num2)
عملگر محاسباتی: ( % ) این عملگر باقی مانده است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23535432 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل باقی مانده (num1) با (num2)
- خروجی: 2
کد:
num1 = 23535432
num2 = 10
print(num1 % num2)
نکته: هر زمانی که عددی باقی مانده اش را بر 10 بگیریم رقم اول آن عدد را به ما می دهد.
نکته: هر زمانی که عددی را تقسیم بر 10 کنیم رقم اول آن عدد حذف می شود.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیحی مثبت با ارقام بالا در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 10 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل باقی مانده (num1) با (num2)
- دستور پرینت (print) برای چاپ حاصل تقسیم صحیح (num1) با (num2)
- خروجی: 2
- خروجی: 235343
کد:
num1 = 23535432
num2 = 10
print(num1 % num2)
print(num1//num2)
عملگر محاسباتی: ( ** ) این عملگر توان است.
- متغیری با نام (num1) که در آن عدد صحیح مثبت 2 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 64 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ حاصل توان(num1) با (num2)
- خروجی: 18446744073709551616
کد:
num1 = 2
num2 = 64
print(num1**num2)
عملگر محاسباتی( = ) این عملگر مقدار سمت راست را در متغیر سمت چپ وارد می کند همچنین مقدار قبلی پاک می شود.
نمونه:
- نام متغیر (x)
- مقدار (20)
- زمان اجرا عملگر (=) مقدار (23) در خانه ی حافظه (RAM) با نام (x) ذخیره می شود.
- دستور پرینت (print) برای چاپ مقدار متغیر (x)
- مقدار قبلی (x) پاک می شود و مقدار جدید (13.45) در آن ریخته می شود.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- مقدار قبلی (x) پاک می شود و مقدار جدید ("ali") در آن ریخته می شود.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- مقدار قبلی (x) پاک می شود و مقدار جدید (18) در آن ریخته می شود.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- خروجی: 20
- خروجی: 13.45
- خروجی: ali
- خروجی: 18
کد:
x = 20
print(x)
x = 13.45
print(x)
x = 'ali'
print(x)
x = 18
print(x)
عملگرهای رابطه ای (Relational):
یکی دیگر از عملگرها در پایتون عملگر رابطه ای است که کاربرد بسیار زیادی دارند.
از این عملگرها برای مقایسه استفاده می کنیم و خروجی این عملگر ها true یا false خواهد بود.
عملگرهای رابطه ای (<) این عملگر برای بزرگتر بودن است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 54 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num2) < (بزرگتر از) (num1) است؟
- خروجی: False
کد:
num1 = 23
num2 = 54
print(num1 > num2)
عملگرهای رابطه ای (>) این عملگر برای کوچکتر بودن است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 54 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) > (کوچکتر از ) (num2) است؟
- خروجی: True
کد:
num1 = 23
num2 = 54
print(num1 > num2)
عملگرهای رابطه ای (=>) این عملگر برای کوچکتر یا مساوی است.
نکته: همیشه تک مساوی (=) سمت راست باید قرار گیرد.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) => (کوچکتر یا مساوی) (num2) است؟
- خروجی: True (مساوی هستند)
کد:
num1 = 23
num3 = 23
print(num1 <= num3)
عملگرهای رابطه ای (=<) این عملگر برای بزرگتر یا مساوی است.
نکته: همیشه تک مساوی (=) سمت راست باید قرار گیرد.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) > (بزرگتر یا مساوی) (num2) است؟
- خروجی: True (مساوی هستند)
کد:
num1 = 23
num3 = 23
print(num1 >= num3)
عملگهای رابطه ای ( =! ) این عملگر برای نامساوی (not)است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) != (نامساوی) (num2) است؟
- خروجی: True (نامساوی هستند)
کد:
num1 = 23
num2 = 54
print(num1 != num2)
عملگرهای رابطه ای ( == ) این عملگر مساوی بودن است.
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) == (مساوی) (num2) است؟
- خروجی: False (مساوی هستند)
کد:
num1 = 23
num2 = 54
print(num1 == num2)
عملگرهای ترکیبی(Assignment):
عملگر ترکیبی ( =+ ) این عملگر روی مقدار قبلی عمل جمع را انجام می دهد.
عملگر ترکیبی ( =- ) این عملگر روی مقدار قبلی عمل تفریق را انجام می دهد.
عملگر ترکیبی ( =* ) این عملگر روی مقدار قبلی عمل ضرب را انجام می دهد.
عملگر ترکیبی ( =/ ) این عملگر روی مقدار قبلی عمل تقسیم عدد اعشاری را انجام می دهد.
عملگر ترکیبی ( =// ) این عملگر روی مقدار قبلی عمل تقسیم عدد صحیح را انجام می دهد.
عملگر ترکیبی ( =% ) این عملگر روی مقدار قبلی باقی مانده را محاسبه می کند.
عملگر ترکیبی ( =** ) این عملگر روی مقدار قبلی توان را محاسبه می کند.
نمونه:
- متغیری با نام (x) که در آن عدد صحیح مثبت 18 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ مقدار متغیر (x)
- استفاده از عملگر (+=) که عمل جمع مقدار 5 با مقدار (x) را محاسبه می کند و همچنین پس از محاسبه آن را در متغیر (x) ذخیره می شود.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- استفاده از عملگر (-=) که عمل جمع مقدار 5 با مقدار (x) را محاسبه می کند و همچنین پس از محاسبه آن را در متغیر (x) ذخیره می شود.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- استفاده از عملگر (*=) که عمل ضرب مقدار 5 با مقدار (x) را محاسبه می کند و همچنین پس از محاسبه آن را در متغیر (x) ذخیره می کند.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- استفاده از عملگر (/=) که تقسیم عدد اعشاری مقدار 4 با مقدار (x) را محاسبه می کند و همچنین پس از محاسبه آن را در متغیر (x) ذخیره می کند.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- استفاده از عملگر (//=) که تقسیم عدد صحیح مقدار 6 با مقدار (x) را محاسبه می کند و همچنین پس از محاسبه آن را در متغیر (x) می ریزد.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- استفاده از عملگر (**=) که توان مقدار 2 با مقدار (x) را محاسبه می کند و همچنین پس از محاسبه آن را در متغیر (x) ذخیره می کند.
- دستور پرینت (print) برای چاپ مقدار جدید متغیر (x)
- خروجی: 18
- خروجی: 23
- خروجی: 19
- خروجی: 95
- خروجی: 23.75
- خروجی: 3.0
- خروجی: 9.0
کد:
x = 18
print(x)
x += 5
print(x)
x -= 4
print(x)
x *= 5
print(x)
x /= 4
print(x)
x //= 6
print(x)
x **= 2
print(x)
عملگرهای منطقی (Logical):
این نوع عملگرها در واقع با خروجی (< ، > ، =< ، => ، == ، =! ) که با (True) و یا (False) هستند کار می کنند.
عملگرهای منطقی ( and ) این دستور در صورتی که تمام شرط ها درست باشند خروجی (True) را چاپ می کند. ولی اگر یک طرف اشتباه باشد خروجی(False) را چاپ می کند.
حالت ها:
F and T => False
T and F=> False
F and F => False
T and T => True
عملگرهای منطقی ( or ) این عملگر در صورتی که حتی یک شرط هم درست باشد خروجی (True) را چاپ می کند.
حالت ها:
F or T => True
T or F => True
T or T => True
F or F => False
عملگر های منطقی ( not ) این عملگر بر عکس عمل می کند و این عملگر تک عملوندی است.
حالت ها:
not True => False
not False => True
نمونه:
- متغیری با نام (num1) که در آن عدد صحیح مثبت 45 در آن ذخیره شده است.
- متغیری با نام (num2) که در آن عدد صحیح مثبت 39 در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) > (بزرگتر از) (num2) است؟ و آیا (num2) > (کوچکتر از) 02 است؟
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) > (بزرگتر از) (num2) است؟ یا آیا (num2) > (کوچکتر از) 02 است؟
- دستور پرینت (print) برای چاپ پاسخ : آیا (num1) > (بزرگتر از) (num2) است؟ و آیا برعکس ((num2) > (کوچکتر از) 02 )است؟
- خروجی:False
- خروجی:True
- خروجی:True
کد:
num1 = 45
num2 = 39
print(num1 > num2 and num2 < 20)
print(num1 > num2 or num2 < 20)
print(num1 > num2 and not(num2 < 20))
عملگرد های بیتی (Bitwise):
عملگرهای بیتی ( << ) (شیفت به راست): این عمل اعداد را در مبنای دو کرده و تمام اعدادی که در مبنای دو هستند را نسبت به عددی که به آن می دهید اعداد را به سمت راست جا به جا می کند.
نمونه:
- متغیری با نام (x) که در آن عدد صحیح مثبت 65 در آن ذخیره شده است.
- متغیری با نام (y) که در آن 2 واحد شیفت به راست مقدار متغیر (x) در آن ذخیره شده است.
- دستور پرینت (print) برای چاپ مقدار(y)
کد:
x=65
y=x>>2
print(y)
عملگرهای بیتی ( >> ) (شیفت به چپ): این عمل اعداد را در مبنای دو کرده و تمام اعدادی که در مبنای دو هستند را نسبت به عددی که به آن می دهید اعداد را به سمت چپ جا به جا می کند.
عملگرهای بیتی ( & ) همان (and) بیتی است.
عملگرهای بیتی ( | ) همان (or) بیتی است.
عملگرهای بیتی ( ~ ) همان (not) بیتی است.
در این جلسه درباره ی عملگرها در پایتون آموختیم همچنین برای درک بهتر ، تمرین بیشتر نیاز است. در جلسه ی بعد با دستورات خروجی در زبان پایتون آشنا می شویم.
جهت رشد تیم درسمن نظرات و پیشنهادات خود را با ما در میان بگذارید.
نظرات دانشجویان
سلام عرض ادب بسیار بسیار بسیار متشکرم از این همه عالی بودنتون .. فقط ی نکته یکی دو مورد اشتباه تایپی بود گفتم خدمتتان اعلام کنم متغیری با نام (num1) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است. متغیری با نام (num2) که در آن عدد صحیح مثبت 23 در آن ذخیره شده است. ---23 دوم اشتباه تایپی هست
خیلی عالی من با استاد عباسی برنامه نویسی رو خوب یاد میگیرم. نحوه تدریسشون خیلی خوبه.
سلام رضا جان، ما نیز شاگرد استاد عباسی بودیم و همیشه از تدریس ایشان نهایت لذت را برده ایم، زمانی که شما از دوره تعریف میکنید کاملا متوجه حس و شوق شما خواهیم شد زیرا به آموزش های مهندس عباس ایمان داریم.
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.