پایتون کلید ورود به دنیای هوش مصنوعی! (قسمت یازدهم-عملگرها)

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

آموزش پایتون قسمت اول

چون می خواستم خسته نشید یک درس آسون از پایتون براتون گذاشتم. توی این قسمت از آموزش پایتون می ریم سراغ عملگرها که به زبون خودمون همون ضرب و تقسیم و ... می شه. چند تا نکته هم داره که در ادامه بهتون می گم.

عملگر تقسیم / یا //

تقسیم توی پایتون ۲ و ۳ با هم فرق داره ! اول بریم سراغ نسخه قدیمی تر یعنی پایتون ۲. عدد های زیر رو در نظر بگیرید

a, b, c, d, e = 3, 2, 2.0, -3, 10

همین جا یه چیز یاد بگیریم که اینطوری هم می تونیم به متغیر هامون عدد بدیم. توی مثال بالا a=3 هست و b=2 و الی آخر.

وقتی a رو به b تقسیم کنیم قاعدتا میشه ۱.۵ ولی در پایتون ۲ این مقدار رو ۱ در نظر می گیره دلیلشم اینکه چون a عدد صحیح هست و b هم عدد صحیح هست پس خروجیش هم عدد صحیح در نظر می گیره و اون ۱.۵ رو به سمت پایین گرد می کنه که میشه ۱.

نگاه کنید :

a / b # = 1 
a / c # = 1.5 
d / b # = -2 
b / a # = 0 
d / e # = -1

(حواسمون هست که هنوز داریم راجب پایتون ۲ صحبت می کنیم) .

خط دوم چرا درست ؟! c هم که همون ۲ هست و ۳ تقسیم بر ۲ میشه ۱.۵ که داره درست نشون میده. همانطور که گفتم توی پایتون ۲ به نوع متغیر دو طرف نگاه می کنه یعنی وقتی c مقدار ۲.۰ هست یعنی اعشاریه پس خروجیش هم اعشاری میشه.

حالا بریم توی پایتون ۳ (ما همین نسخه رو کار داریم) :

a / b # = 1.5 
e / b # = 5.0 
a // b # = 1 
a // c # = 1.0

اینجا دیگه اومدن درستش کردن یعنی a/b شد همون ۱.۵ ولی بجاش یک عملگر دیگه در نظر گرفتن که اینه // دو تا تقسیم کنار هم. کار این عملگر اینه که تقسیم می کنه بعدش به پایین گرد می کنه. همون طور که می بینید a//b میشه ۱.

نتیجه گیری بحث تقسیمون می شه حالت های زیر که مثلا خط دوم می گه اگه سمت چپ تقسیم int باشه و سمت راستش float خروجیش میشه float(عدد اعشاری) :

int and int (gives an int in Python 2 and a float in Python 3) 
int and float (gives a float) 
int and complex (gives a complex) 
float and float (gives a float) 
float and complex (gives a complex) 
complex and complex (gives a complex)

عملگر جمع +

اینم که ساده هست دو تا عدد رو باهم جمع می کنه

a, b = 1, 2 
# Using the "+" operator: 
a + b  # = 3 

یا میشه مثل زیر نوشتشون. که همونه جمع a+b هست که ریخته میشه دوباره توی a :

  a += b # a = 3 
  (equivalent to a = a + b) 

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

int and int (gives an int) 
int and float (gives a float) 
int and complex (gives a complex) 
float and float (gives a float) 
float and complex (gives a complex) 
complex and complex (gives a complex)

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

"first string " + "second string"  # = 'first string second string' 
[1, 2, 3] + [4, 5, 6] # = [1, 2, 3, 4, 5, 6]

اولی یک مثالی از رشته هست دومی یک مثال از لیست.

عملگر توان **

بریم سر وقت توان. از دوتا علامت * ضرب استفاده میشه(این سادگیه زبان پایتون رو میرسونه!) یا اینکه می تونیم از تابع درونی pow استفاده کنیم.

a, b = 2, 3 
(a ** b) # = 8 
pow(a, b) # = 8 

عملگر تفریق -

a, b = 1, 2 
# Using the "-" operator: 
b - a # = 1 

نتیجه گیری نهاییشم می شه این:

int and int (gives an int) 
int and float (gives a float) 
int and complex (gives a complex) 
float and float (gives a float) 
float and complex (gives a complex) 
complex and complex (gives a complex)

عملگر ضرب *

a, b = 2, 3 
a * b # = 6 

نتیجش هم میشه این :

int and int (gives an int) 
int and float (gives a float) 
int and complex (gives a complex) 
float and float (gives a float) 
float and complex (gives a complex) 
complex and complex (gives a complex)


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

پایتون از قانون PEMDAS پیروی می کنه . حال این چیه:

حرف P اول نشون دهنده Parentheses که می شه پرانتز. یعنی اولیت اول با پرانتزه

حرف E نشون دهنده Exponents که میشه توان. یعنی اولیت بعدی با توان هست

حرف M نشون دهنده Multiplication که میشه ضرب

حرف D نشون دهنده Division که میشه تقسیم

حرف A نشوند دهنده Addition که میشه جمع

حرف S نشون دهنده Subtraction که میشه تفریق

ضرب و تقسیم هم اولویت هستن همچنین جمع و تفریق هم اولویتن. مثال زیر رو ببینید:

>>> a, b, c, d = 2, 3, 5, 7
>>> a ** (b + c) # parentheses
256

>>> a * b ** c # exponent: same as `a * (b ** c)`
7776

>>> a + b * c / d # multiplication / division: same as `a + (b * c / d)`
4.142857142857142

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

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

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

https://virgool.io/hooshteam/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%DA%A9%D9%84%DB%8C%D8%AF-%D9%88%D8%B1%D9%88%D8%AF-%D8%A8%D9%87-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%AC%D9%85%D8%B9-%D8%A8%D9%86%D8%AF%DB%8C-%DA%AF%D8%A7%D9%85-%D8%A7%D9%88%D9%84-%D8%A8%D8%AE%D8%B4-%D9%85%D9%82%D8%AF%D9%85%D8%A7%D8%AA%DB%8C-vjlp0ah5cusd