آموزش پایتون از صفر تا 100

سلام دوستان ...در قسمت قبل آموزش پایتون مفاهیم زیر را یاد دادیممعرفی زبان برنامه نویسی پایتون فراخواني مفسر در زبان برنامه نويسي پايتونحالت تعاملی در Pythonآموزش استفاده از رمزنگاری متن کد در مفسر پایتوناستفاده از پایتون به عنوان ماشین حسابرشته ها در برنامه نویسی pythonلیست ها در برنامه نویسی pythonحال با ادامه آموزش پایتون همراه ما باشید.مراحل اولیه برای برنامه نویسی پایتون Pythonالبته که می توان از پایتون برای کارهای پیچیده تر از دو به اضافه دو استفاده کرد. برای مثال، می توان یک زیر دنباله اولیه سری فیبوناتچی را به صورت زیر نوشت:>>> # Fibonacci series:... # the sum of two elements defines the next... a, b = 0, 1>>> while a < 10:... print(a)... a, b = b, a+b...0112358این مثال چندین ویژگی جدید را معرفی می کند1. خط اول شامل چندین تخصیص است: متغیر های a وb به طور همزمان مقادیر جدید صفر و یک را می گیرند. در خط آخر نیز مجددا از این گونه تخصیص استفاده شده است که نشان دهنده این است که ابتدا همه عبارات سمت راست قبل از هر گونه تخصیص دادن محاسبه می شوند. عبارات سمت راست، از چپ به راست محاسبه می شوند.2. حقله while تا زمانی که شرط (در اینجا a < 10) صحیح (true) باشد اجرا می شود. در پایتون همانند C، هر مقدار صحیح(integer) غیر صفر صحیح (true) است. صفر غلط(false) است . شرط نیز ممکن است مقدار رشته یا لیست باشد؛ در واقع هر داده ترتیبی می تواند باشد. هر چیزی با طول غیر صفر صحیح و دنباله های خالی غلط هستند. تست استفاده شده در این مثال یک مقایسه ساده است. عملگرهای مقایسه ای استاندارد مشابه C نوشته می شوند. < کمتر از ، > بزرگتر از ، == تساوی ، <= کمتر مساوی ، >= بزرگتر مساوی ، =! نا مساوی.3. بدنه حلقه فرورفتگی دارد. فرو رفتگی روش پایتون برای دسته بندی عبارات است. در prompt تعاملی، برای هر خط فرو رفته باید یک tab یا چندین فاصله تایپ کنید. در عمل به وسیله ویرایشگر متن، ورودی های پیچیده تری را برای پایتون آماده می کنید. همه ویرایشگر های متن محبوب دارای تسهیلات ایجاد فرورفتگی خودکار هستند. زمانی که یک عبارت ترکیبی به صورت تعاملی وارد شود، یک خط خالی باید پس آن وجود داشته باشد که نشان دهنده تکمیل آن باشد (زیرا پارسر(parser)نمیتواند حدس بزند که شما چه زمانی خط آخر را نوشته اید). توجه داشته باشید که همه خطوط درون یک بلاک باید به یک اندازه فرو رفته باشند.4. تابع print() مقدار آرگومان هایی که به آن داده شده را چاپ می کند. عملکرد این تابع متفاوت است از نوشتن ساده عبارات مورد نظر(مانند نوشتن در مثال ماشین حساب). دلیل این تفاوت نحوه مدیریت چندین آرگومان، مقادیر اعشاری و رشته ها توسط این تابع است. رشته ها بدون علامت نقل قول چاپ می شوند و در بین موارد فاصله قرار می گیرد ، بنابراین می توانید به همه چیز به زیبایی شکل دهید. مانند این:>>> i = 256*256>>> print('The value of i is', i)The value of i is 65536از آرگومان کلمه کلیدی end برای جلوگیری از اعمال خط جدید پس از خروجی می توان استفاده کرد و یا می توان خروجی را با یک رشته متفاوت اتمام کرد.>>> a, b = 0, 1>>> while a < 1000:... print(a, end=',')... a, b = b, a+b...0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,توجه !1. از آنجایی که ** اولویت بالاتری نسبت به – دارد، -3**2 به صورت -(3**2) تفسیر می شود ، پس بنابراین نتیجه -9 می شود. برای جلوگیری از این اتفاق و رسیدن به نتیجه 9، می توان از (-3)**2 استفاده کرد.2. بر خلاف سایر زبان ها، کاراکتر های خاص مانند \n با هر دوی نقل قول تکی ('...') و دوتایی ("...") معنای یکسان دارند. تنها تفاوت در این دو این است که در نقل قول تکی نیازی به گریز از " نیست( اما باید از \’ گریز کرد) و بالعکس.ابزارهای کنترل در زبان پایتون Pythonآموزش عبارات if در زبان برنامه نویسی Pythonشاید شناخته شده ترین نوع عبارات، عبارت if باشد. برای مثال:>>> x = int(input(&quotPlease enter an integer: &quot))Please enter an integer: 42>>> if x < 0:... x = 0... print('Negative changed to zero')... elif x == 0:... print('Zero')... elif x == 1:... print('Single')... else:... print('More')...میتوان به تعداد دلخواه (هیچ یا بیشتر ) بخش elif قرار داد، و بخش else اختیاری است. کلمه کلیدی elif خلاصه شده else if است، و بهتر است از اعمال فرورفتگی اضافی خودداری شود. یک دنباله if….elif….elif…. جایگزینی برای عبارات switch یا case موجود در سایر زبان ها است.آموزش عبارات for در زبان برنامه نویسی Pythonعبارات for در پایتون با آنچه که در C یا پاسکال استفاده می کردید، ممکن است کمی متفاوت باشد. به جای روند تکرار همیشگی که روی دنباله ای از اعداد حسابی که به صورت افزایشی تغییر میکند (مانند پاسکال)، یا به جای دادن این امکان به کاربر که بتواند گام تکرار و شرط پایان حلقه را مشخص کند (مانند C)، عبارت for در پایتون روی موارد هر نوع دنباله ای ( یک رشته یا یک لیست)، بر اساس همان ترتیبی که در دنباله قرار دارند، تکرار می شوند. برای مثال:>>> # Measure some strings:... words = ['cat', 'window', 'defenestrate']>>> for w in words:... print(w, len(w))...cat 3window 6defenestrate 12کدی که یک مجموعه را تغییر می دهد و همزمان روی عناصر همان مجموعه تکرار می کند (درون حلقه for)، می تواند برای اجرای صحیح چالش بر انگیز باشد. به جای آن، معمولا سر راست تر است که روی یک کپی از مجموعه حلقه بزنید یا یک مجموعه جدید ایجاد کنید.# Strategy: Iterate over a copyfor user, status in users.copy().items(): if status == 'inactive': del users[user] # Strategy: Create a new collectionactive_users = {}for user, status in users.items(): if status == 'active': active_users[user] = statusآموزش تابع range() در برنامه نویسی پایتوناگر احتیاج دارید که روی دنباله ای از اعداد در حلقه تکرار کنید، تابع داخلی range() به کار می آید. این تابع توالی از اعداد حسابی تولید می کند.>>> for i in range(5):... print(i)...01234نقطه پایان داده شده هیچگاه جزء ای از دنباله تولید شده نیست. Range(10) ده مقدار تولید می کند که اندیس های مجاز برای عناصر یک دنباله به طول ده هستند. امکان دارد که بخواهیم بازه از عددی دیگر شروع شود، و یا یک واحد افزایشی متفاوت مشخص کنیم (حتی منفی، گاهی به آن گام می گویند).range(5, 10) 5, 6, 7, 8, 9 range(0, 10, 3) 0, 3, 6, 9 range(-10, -100, -30) -10, -40, -70برای تکرار روی اندیس های یک دنباله، می توانید range() و len() را مانند زیر ترکیب کنید:>>> a = ['Mary', 'had', 'a', 'little', 'lamb']>>> for i in range(len(a)):... print(i, a[i])...0 Mary1 had2 a3 little4 lambاگر چه در بیشتر این موراد، راحت تر است از تابع enumerate() استفاده شود. لینک Looping Techniques را ببینید. اگر فقط یک range را چاپ کنید، اتفاق عجیبی می افتد:>>> print(range(10))range(0, 10شی باز گردانده شده توسط تابع range() به طرق مختلف به صورت یک لیست رفتار می کند، در حالی که واقعا لیست نیست. شی ای است که عناصر پی در پی دنباله مورد نظر را در زمان تکرار در حلقه باز می گرداند. اما واقعا یک لیست نیست، بدین ترتیب در ذخیره فضا صرفه جویی می کند. می گوییم چنین شی ای قابل تکرار است، یعنی به عنوان هدف برای توابع و ساختار هایی که انتظار چیزی را دارند که بتوان از آن عناصر ترتیبی به دست آورد تا هنگامی که عناصر خاتمه یابند ، مناسب است. دیدیم که عبارت for دارای این چنین ساختاری است، درحالی که یک مثال از یک تابع که یک شی قابل تکرار را پذیرفته تابع sum() است:>>> sum(range(4)) # 0 + 1 + 2 + 36در ادامه با توابع بیشتری آشنا خواهیم شد که تکرار پذیر ها را به عنوان آرگومان دریافت می کنند و آنها را باز می گردانند. در انتها شاید کنجکاو باشید بدانید چگونه از یک range یک لیست بگیرید. و این راه حل است:>>> list(range(4))[0, 1, 2, 3]در بخش ساختار های داده، جزییات بیشتری درباره list() ارائه می دهیم.آموزش پایتون ادامه دارد