وبلاگ سجاد نجفی

تجربه های وبگردی من

وبلاگ سجاد نجفی

تجربه های وبگردی من

وبلاگ سجاد نجفی

با خودم گفتم من که هر چند وقت یه بار دنبال مطلبی در اینترنت‌ام تا کار خودمو راه بندازم، خب وقتی کارم راه افتاد و اون مطلب رو در وب پیدا کردم، در یک وبلاگ انتشار بدم تا هم خودم اون مطالب رو داشته باشم و هم به کسایی که دنبال همون چیزایی‌اند که من دنبالشون بودم{!!!} کمکی کرده باشم!

پیام های کوتاه
۰۵
خرداد ۹۸

سلام دوستان

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

دستورات شرطی و بولین در پایتون
اگر شرط مقابل if، درست باشه(True) دستورات درون شرط اجرا میشه و اما اگر غلط باشه(False) دستورات اجرا نمیشن:
>>> if True:
print('Conditions was True')
Conditions was True
>>> if False:
print('Conditions was True')
مثال بالا ناقصه چون شرط رو مستقیما True و False انتخاب کردیم و در واقع نتیجه شرط رو خودمون گفتیم و هیچ شرطی وجود نداره جز چیزی که خودمون تعیین کردیم. ذکر این مثال فقط به این خاطر بود که بدونیم در عمل دستورات شرطی که مقابل if مینویسیم برای سیستم به چه صورت تفصیر میشن.
حالا مثال رو به این صورت مینویسیم:
>>> language='Python'
>>> if language=='Python':
print('Conditions was True')
Conditions was True
می تونیم تعیین کنیم اگر شرط False شد دستورات موجود در else اجرا بشه:
>>> if language=='Python':
print('Language is Python')
else:
print('No match')
No match
دستور چند شرطی(elif)
دستور elif برای چند شرطی کردن شرط کاربرد داره طوری که اگه شرط اول درست نبود ما با به کار بردن elif در واقع داریم میگیم: «اگر شرط درست بود که دستورات رو اجرا کن در غیر این صورت اگه شرط جدید من درست بود این دستورات رو اجرا کن».
>>> if language=='Python':
print('Language is python')
elif language=='JAVA':
print('Language is JAVA')
else:
print('No match')
Language is JAVA
در مثال بالا میبینیم که شرط اصلی ما صحیح نبود و برنامه وارد شرط elif شد که شرط صحیح بود و دستورات elif اجرا و در نهایت خروجی Language is JAVA چاپ شد.

نکته: اگر شما قبلا با زبان برنامه نویسی دیگه ای کار کرده باشین حتما نام سوییچ کیس (switch case) رو شنیدید که عمل چند شرطی رو انجام میداد اما باید بدونید که در پایتون switch case نداریم چون همین عمل رو میشه با elif پیاده سازی کرد و نیازی به switch case نیست.

عملوندهای مقایسه ای در شرط:
مساوی: ==
نامساوی: !=
بیشتر از: >
کمتر از: <
بیشتر یا مساوی: >=
کمتر یا مساوی: <=
وَ: and
یا: or
غیرِ: not
هویت اشیاء: is
مثال: میخواهیم برنامه ای بنویسیم که اگر کاربر مدیر بود و وارد شده بود صفحه مدیریت براش نشون داده بشه:
>>> user= 'Admin'
>>> logged_in= True
>>> if user == 'Admin' and logged_in:
print('Admin Page')
else:
print('Bad Creds')
Admin Page
مثالی از کاربرد not در شرط:
>>> if not logged_in:
print('Please Log in')
else:
print('welcome')
welcome
کاربرد is در شرط:
اگر ID دو شیء (object) با هم برابر باشه یعنی اونها در حافظه یکی هستند. به مثال توجه کنید:
>>> a=[1,2,3]
>>> b=[1,2,3]
>>> print(a==b)
True
>>> print(a is b)
False
همانطور که دیدیم دو لیست a و b با هم برابرند اما یکی نیستند چون در حافظه دو شیء متفاوت هستند(ID اونها با هم یکی نیست):
>>> print(id(a))
19907128
>>> print(id(b))
19898120
اگر در مثال قبل به جای b=[1,2,3] مینوشتیم  b=a اونوقت هر دو یک ID میداشتن و شرط هم درست میشد:
>>> a=[1,2,3]
>>> b=a
>>> print(id(a))
19907288
>>> print(id(b))
19907288
>>> print(a is b)
True
در واقع در پشت صحنه اتفاقی که برای شرط هایی که توی اونها از is استفاده میشه میفته اینه که ما داریم برابری ID دو شیء رو با هم مقایسه می کنیم:
>>> print(a is b)
True
>>> print(id(a)==id(b))
True
روش های ارزیابی False
False
None
صفر: 0
هر نوع داده دنباله دار خالی، مثل: '', (), []
هر نوع نگاشت(mapping) خالی مثل دیکشنری خالی: {}
مثال:
>>> condition= None
>>> if condition:
print('Evaluated to True')
else:
print('Evaluated to False')
Evaluated to False
مثال:
>>> condition= ()
>>> if condition:
print('Evaluated to True')
else:
print('Evaluated to False')
Evaluated to False
مثال:
>>> condition= ''
>>> if condition:
print('Evaluated to True')
else:
print('Evaluated to False')
Evaluated to False
در مثال فوق دقت کنید حتی اگر بین علامت ' '  یک فاصله(اسپیس) هم بذاریم شرط صحیح تشخیص داده میشه چون همین فاصله از نوع رشته ای هست و رشته تهی ایجاد نمی کنه که شرط بخواد False بشه. 

امیدوارم از این آموزش لذت برده باشین؛ نظر یادتون نره :)

دوستانی که پست اول این سری آموزش رو نخوندن حتما بخونن! >>> پست اول آموزش پایتون

۹۸/۰۳/۰۵
سجاد نجفی

نظرات  (۰)

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

ارسال نظر

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