<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های PyWorld</title>
        <link>https://virgool.io/feed/@atanabina</link>
        <description>اینجا قراره با هم سعی کنیم مهارت پایتونی خودمون رو افزایش بدهیم?</description>
        <language>fa</language>
        <pubDate>2026-06-17 07:40:54</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/1699281/avatar/v35lbu.jpeg?height=120&amp;width=120</url>
            <title>PyWorld</title>
            <link>https://virgool.io/@atanabina</link>
        </image>

                    <item>
                <title>آموزش یونیت تست در پایتون (2)</title>
                <link>https://virgool.io/@atanabina/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DB%8C%D9%88%D9%86%DB%8C%D8%AA-%D8%AA%D8%B3%D8%AA-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-2-knx5wllbrsy4</link>
                <description>سلام رفقا ?با دومین پست آموزشی یونیت تست در خدمتون هستم ...اگر پست قبلی رو ندیدید حتما اول اون پست را بخوانید خب توی جلسه قبلی با assertEqual آشنا شدیم ، اومدیم تابع test_add رو نوشتیم و توی چهار حالت متود add رو تست کردیم.حالا برای متود تفریق ، تقسیم و ضرب هم همین کار رو می کنیم.اجرا فایل تست اجرا کردن یک فایل یونیت تست ، با یک کد معمولی متفاوت هست. اگر معمولی کدتون رو اجرا کنید هیچ نتیجه مشاهده نمی کنید برای اجرا فایل یونیت تست 2 روش وجود دارد.روش اول اینه که برید از طریق خط فرمان وارد دایرکتوری کد مورد نظرتون بشوید و فایل را اجرا کنید با این تفاوت که باید در خط فرمان این کد را مطابق  عکس زیر با ماژول unittest اجرا کنید.روش دوم اینه که این کد را به انتهای کد خودتون اضافه کنید:این کد مربوط به بخش ماژول ها می شود!اجرای کداین چهار نقطه ابتدایی ، نشانه درست بودن تست شما هست ، هر چند تابع تست داشته باشید به همون تعداد از این نقاط خواهید داشت. ما الان چهار تا تابع تست نوشتیم و داریم چهار نقطه مشاهده می کنیم! هر نقطه نشان دهنده درستی تست ما هست مثلا اگر در تابع تست سوم با ارر مواجه بشویم نتیجه به این شکل در می آیید : می بینید که بعد از 2 نقطه حرف F به معنی فیل بودن تست ما هست ، در ادامه هم جزئیات ارر رو می بینید.بعد از این چهار نقطه زمان اجرای تست و بعد از آن اگر تمامی تست ها با موفقیت انجام شده باشند ، OK در آخر نتیجه قرار می گیرد.تست اجرای ارر فرض کنید برنامه ای نوشتید که تحت شرایط خاصی ارر خاصی را اجرا می کند ، چجوری با یونیت تست می توانیم اجرا شدن یک ارر را بررسی کنیم ؟!تغییری در برنامه اصلی ایجاد می کنیم تا اگر در تابع تقسیم عدد دوم 0 بود ارر بدهد : حالا باید بگیم اگر توی تابع Division مثلا عدد اول 10 بود و عدد دوم 0 باید ValueError ریز بشود.این کار را با متود assertRaises به این شکل انجام می دهیم :در واقع داریم می گوییم اگر تابع Division آرگمان های 25 و 0 باید ValueError داده بشود و همینطور اگر آرگمان های 10 و 0 را دریافت کرد باید ValueError دریافت بشودنتیجه به شکل بالا هست که در واقع می گویید تست با موفقیت نبوده! طبیعی هم هست چون انتظار داشتیم ارر دریافت کند که دریافت کردassertNotEqualتابعی هم در کتابخانه یونیت تست وجود دارد تحت عنوان ، assertNotEqual که عکس assertEqual عمل می کند. در این متود اگر مقداری که شما می دهید در آرگمان تابع با مقدار دوم برابر باشد ارر می دهد.خب دوستان سعی شد که مسائل کاربردی یونیت تست در این دو پست گفته بشود امیدوارم که براتون کاربردی باشد...اگر اطلاعات جامع تری از یونیت تست در پایتون نیاز داری می توانی سری به داکیومنت بزنی .ممنون می شوم نظرات خودتون رو برای ما کامنت کنید ...موفق باشید </description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Sat, 10 Sep 2022 14:52:59 +0430</pubDate>
            </item>
                    <item>
                <title>یونیت تست در پایتون (1)</title>
                <link>https://virgool.io/@atanabina/%DB%8C%D9%88%D9%86%DB%8C%D8%AA-%D8%AA%D8%B3%D8%AA-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-1-dzbh6ygu9tpf</link>
                <description>سلام رفقا ?امیدوارم حالتون عالی باشد ...توی این پست قراره یونیت تست را با هم بررسی کنیممقدمه به زبان ساده ، وقتی ما عملکرد کل کدمون یا قطعه ای از کدمون رو آزمایش کنیم ، در واقع یونیت تست انجام دادیم.به تعریف ویکی پدیا ، در برنامه‌نویسی رایانه‌ای، نوعی آزمون نرم‌افزار است که در آن  مورد آزمون قرار می‌گیرند تا تعیین شود که آیا برای استفاده سازگار هستند یا نه. در اینجا «واحد منفرد کد منبع» یعنی مجموعه‌ای از یک یا بیشتر پودمان برنامه رایانه‌ای، همراه با داده کنترلی مرتبط، رویه استفاده، و رویه عملیاتی.یونیت تست شاید یکم زمان بر باشد ، اما خیلی شفاف می توانیم تمام ارر های کدمون رو پیدا کنیم.باید توجه داشته باشیم که لزوما هر ارری اینجوری نیست که خود زبان برنامه نویسی بگه توی خط فلان مشکل دارید.خیلی جاها ما با ارر های منطقی سر و کار داریم که با وجود صحت نوشتار کد اما عملکرد درستی برنامه ما ندارد.نوشتن یک برنامه ساده خب قبل از هر چیز باید یک برنامه ساده بنویسیم که بعد اون را تست کنیم ، من یک برنامه با چهار تا تابع ضرب و تقسیم و تفریق و جمع نوشتم.شما می توانید یک برنامه پیچیده تر را بنویسید.قدم اول : ساخت فایل در قدم اول باید فایل یونیت تست خودمون را بسازیم. هر اسمی می توانید انتخاب کنید اما بهتره یک اسم متناسب با فایل اصلی تون انتخاب کنید تا هم خودتون متوجه بشوید هم اگر کدتون رو به دیگران دادید اونا متوجه بشوند.مثلا اسم فایل اصلی من calculator.py هست و اسم فایل تست رو گذاشتم test_calculator.py شما هم بهتره همین کار رو کنید.قدم دوم : ایمپورت کردن فایل اصلی حالا باید فایلی که می خواهید تست کنید رو توی فایل تست ایمپورت کنید. پس واجب شد فایل تستتون کنار فایل اصلی باشد.دلیل ایمپورت کردن فایل اصلی اینه که بتوانید از همه متود های اون استفاده کنید.قدم سوم : ایمپورت کردن کتابخانه unittestباید توی فایل تست کتابخانه unittest رو ایمپورت کنیم ، این کتابخانه داخلی پایتون بوده و لازم نیست اون را نصب کنید.قدم چهارم : ساخت کلاس توی ساختار فایل تست باید یک کلاس بسازیم تمام اقدامات ما توی یک کلاس انجام بشود.اسم این کلاس دست خودمون هست اما بهتره مثل اسم فایل باشد. من اسم این کلاس رو گذاشتم TestCalculatorنکته اینجاست حتما باید این کلاس از کلاس TestCase کتابخانه ارث بری کند تا بتوانیم از متود های مربوط یونیت تست استفاده کنیم.قدم پنجم : نوشتن متود تست برای هر متودی که می خواهیم توی فایل اصلی تست کنیم باید یک متود مربوط به تست اون را بنویسیم.مثلا توی فایل اصلی ما متود add رو داریم ، توی کلاس تست هم باید یک متود مربوط به تست add بنویسیم فرمت نامگذاری حتما باید به این شکل باشد : test_add () این مورد حتما باید رعایت شود وگرنه پایتون این متود شما را به عنوان متود تست برای تابع add نمی شناسد.حالا ما باید یکسری عدد به تابع add ارسال کنیم و ببینیم آیا حاصل جمع آن با مقدار ریترن شده مطابقت داره یا نه ، اگر مطابقت داشت که یعنی تابع درست کار کرده اگر نه یعنی یک جای کار مشکل دارد.برای این کار از تابع assertEqual استفاده کنیم این تابع دو تا آرگمان می گیرد و بررسی می کند آیا اون دو تا آرگمان یکسان هستند یا نهبه ادامه کد دقت کنید.توی تابع test_add گفتم برو به add سه و پنج رو بفرست ، خب add جمع می کند دو تا عدد را ،  3 + 5 می شود 8 پس باید مقدار خروجی تابع 8 باشد.این کار را هر چند بار دیگه انجام می دهیم ، من جمع اعداد 3 و 5 رو انجام دادم و بعد اعداد منفی با منفی و منفی با مثبت رو هم تست کردم.خودتون هم می دانید ، چرا self رو گرفتم و از self تابع assertEqual را صدا زدم؛ این بحث بر می گردد به شی گرایی که که نمونه ساخته شده جای self قرار می گیرد...حالا همین کار رو برای دیگر متود های برنامه calculator خودمون می نویسیم ....امیدوارم که این پست را دوست داشته باشید ...منتظر پست بعدی در رابطه با یونیت تست باشید.</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Wed, 07 Sep 2022 12:59:38 +0430</pubDate>
            </item>
                    <item>
                <title>تابع map در پایتون</title>
                <link>https://virgool.io/@atanabina/%D8%AA%D8%A7%D8%A8%D8%B9-map-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-ds8afhkfmcik</link>
                <description>سلام رفقا ??امیدورارم که حالتون عالی باشد ...با بررسی یکی از مهم ترین توابع داخلی پایتون در خدمت شما هستیم.تابع map یکی از مهم ترین و البته ساده ترین توابع داخلی پایتون هست که کاربرد جالبی دارد:)این تابع میاد اول یک تابع از ما می گیرد و به عنوان آرگمان دوم یک مقدار قابل تکرار (iterable) مثل لیست یا تاپل را از ما می گیرد و اون تابع رو روی تمام اون المان های iterable ما پیاده سازی و اجرا می کند.الان با یک مثال کاملا متوجه می شویم:سینتکس تابعمی خواهیم برنامه ای بنویسیم که لیستی از دما ها را بدهیم و اون دما ها را به شکل فارنهایت شده نمایش بده:1- خب در مرحله اول باید یک لیست از دما ها بسازیم:2- حالا باید یک تابع بنویسیم تا تک تک این المان ها را داخل تابع قرار بدهد :فرمول تبدیل دمای سانتی گراد به فارنهایت :  32 + (n * 9/5) تا اینجا که همچی تکراری بود ، حالا یک متغیر تعریف می کنیم و مقدارش را map قرار می دهیم در آرگمان اول تابع  centigrade_to_fahrenheit را می دهیم و به عنوان آرگمان دوم لیست Temperatures را می دهیم.دقت کنید که برای دادن آرگمان اول به هیچ وجه نباید بعد از تابع پرانتز بزاریم result = map(centigrade_to_fahrenheit() , Temperatures)الان کد بالا چون بعد از اسم تابع پرانتز گذاشته غلط هست.شکل صحیح به این شکل هست :result = map(centigrade_to_fahrenheit , Temperatures)نمایشدقت کنید برای نمایش این result باید از متود list استفاده کنید و لیست شده ی آن را چاپ کنید نتیجه با نمایش result با متود list ، به لیستی می رسیم که تمام دماهای ما به فارنهایت تبدیل شده و در نتیجه قابل ملاحظه هست پس تابع map تک تک اعضای لیست ما را در تابع می گذارد و به عبارت دیگر تابع رو روی هر کدام اجرا می کند کد کامل : نمایش بدون متود listهمین چند ثانیه پیش گفتم برای استفاده از map باید نتیجه حاصل اون را با متود list تبدیل به list کنید در غیراینصورت تابع map کاربرد خودش را از دست می دهد. حالا شاید برای شما سوال بشود که اگر ما همینجوری و بدون لیست کردن متغیر result اون را چاپ کنیم چه اتفاقی می افتد ؟ با هم امتحان می کنیم...print(result)نتیجه کد بالا : &lt;map object at 0x000001E45726AE00&gt;در واقع به ما می گوید شی یا تابعی به نام map توی کجا مموری ذخیره شده...ولی حالا هنگام پرینت result را list می کنیم:print(list(result))نتیجه : [86.0, 140.0, 50.0, 60.8, 33.8]نوشتن map با لامبدامی دانید که اگر بخواهیم یک تابع رو خلاصه کنیم و یک تابع یک خط باشد بخصوص برای این توابعی که  توی پایتون خودشون از ما یک تابع می خواهد ، بهتر هست از لامبدا بجای توابع معمولی استفاده کنیم همین مثال رو یک بار یا لامبدا ها می نویسیم:چون لامبدا ها بحث اش جدا است خیلی روی لامبدا ها بحث نمی کنیم ...دادن دو یا چند iterableاین مطلب را با مثال شروع می کنیم :سه تا لیست به نام های a , b , c تعریف می کنیم و سه عدد متوالی توی آنها قرار می دهیم:a = [ 1 , 2 , 3 ] 
b = [4 , 5 , 6]
c = [7 , 8 , 9]حالا متغیر result رو می سازیم:result = map(lambda x,y,c  : x + y + c , a,b,c)حالا چاپ می کنیم :print(list(result))نتیجه به این شکل خواهد بود : [12, 15, 18]می بینیم که اعداد اول سه لیست را جمع کرده و 18 شده اعداد دوم سه لیست را جمع کرده که 15 شده اعداد سوم ، سه لیست را جمع کرده است که 12 شده در واقع عدد اول لیست اول به عنوان x عدد اول لیست دوم به عنوان y و عدد اول لیست سوم به عنوان c توی لامبدا هستند و جمعشون بر می گردد. به همین شکل مقادیر دوم و سوم ، سه لیست جمع می شوند.تمرین برنامه ای بنویسید که یک لیست adjective یا صفات داشته باشیم و 4 صفت روی توی اون قرار بدهیم مثل good , expensive , Beautiful , fool و یک لیست دیگر 4 تا شی یا اسم را قرار بدهیم مثل people , car , flower , program و با استفاده از فانکشن map برنامه ای بنویسید که یک اسم را در کنار صفت قرار بدهد مثلا good person , expensive car  و ....امیدوارم که این پست برای شما مفید واقع شده باشد ... ممنون می شوم نظرات خودتون را برای ما کامنت کنید</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Sat, 09 Jul 2022 07:26:01 +0430</pubDate>
            </item>
                    <item>
                <title>محاسبه توان در پایتون</title>
                <link>https://virgool.io/@atanabina/%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87-%D8%AA%D9%88%D8%A7%D9%86-%D8%AF%D8%B1-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-py1uavf9hx8l</link>
                <description>سلام رفقا ??با یک پست دیگر در خدمتون هستمتوی این پست به بررسی دو روش برای محاسبه توان در پایتون می پردازیم...استفاده از عملگر توان روش اول اینه که ما با عملگر توان این عمل رو انجام بدیم عملگر توان در پایتون با دو بار علامت * انجام می شود مثلا عدد 5 رو می خواهیم به توان 2 برسونیماستفاده از کتابخانه mathبا متود pow می توانیم توان را بدست بیاوریم اولین آرگمان عدد ماست و دومین آرگمان عددی هست که عدد اصلی به توان اون می رسد.امیدوارم از این پست لذت برده باشید ...</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Thu, 07 Jul 2022 18:41:16 +0430</pubDate>
            </item>
                    <item>
                <title>پایتون کجا دنبال ماژول ها می گردد؟</title>
                <link>https://virgool.io/@atanabina/%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%DA%A9%D8%AC%D8%A7-%D8%AF%D9%86%D8%A8%D8%A7%D9%84-%D9%85%D8%A7%DA%98%D9%88%D9%84-%D9%87%D8%A7-%D9%85%DB%8C-%DA%AF%D8%B1%D8%AF%D8%AF-jyzvzts9plcv</link>
                <description>سلام رفقا ???امیدوارم حالتون عالی باشد..با یک پست دیگر در خدمتون هستیم ...توی این پست به بررسی این مطلب می پردازیم که وقتی یک ماژول رو توی پایتون import می کنیم پایتون کجا دنبال ماژول ما می گردد؟فولدر کد شمااولین جایی که وقتی یک ماژول رو توی پایتون import می کنیم ، پایتون دنبال اون ماژول می گردد همان پوشه ای هست که کد شما توی اون قرار دارد. در واقع هر فایل پایتونی توی پوشه ای که کد اصلی شما توش قرار دارد وجود داشته باشد ، پایتون اجازه می دهد اون ماژول رو شما import کنید.توی تصویر بالا در سمت چپ ، یک کدی به نام sum وجود دارد که من توی app.py به راحتی می توانم اون را import کنممحل نصب پایتوندومین جایی که پایتون برای پیدا کردن یک ماژول ، کاوش می کند محل نصب پایتون هست چون ماژول هایی که شما با دستور pip از توی اینترنت دانلود می کنید توی محل نصب پایتون قرار می گیرندPython Pathشما می توانید یک مسیر به دلخواه به پایتون بدید که توی اون مسیر هم دنبال ماژول ها بگردد.چجوری به پایتون مسیر دلخواه خودمان را بدهیم ؟ برای اینکه یک مسر دلخواه در پایتون بدیم که برای وارد کردن ماژول ها اونجا هم بگردد کافیه ابتدا ماژول sys رو که یک ماژول داخلی هست import کنیم بعدش با متود path.append و دادن path مورد نظرمون ، اون دایرکتوری رو هم اضافه کنیم.حالا با متود path از sys می توانیم تمامی دایرکتوری هایی که پایتون در پایتون دنبال اون می گردد را ببینیم.نتیجه حاصل در سیستم من : آدرس اول : پوشه کد اصلیمابقی آدرس ها بجز آخری : محل نصب پایتون آدرس آخر : path ای که خودم اضافه کردمدوستان عزیز امیدورام این پست برای شما مفید واقع شده باشد...خوشحال می شوم نظراتتون رو کامنت کنید..موفق باشید ....</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Thu, 07 Jul 2022 12:05:25 +0430</pubDate>
            </item>
                    <item>
                <title>نحوه نصب پایتون</title>
                <link>https://virgool.io/@atanabina/%D9%86%D8%AD%D9%88%D9%87-%D9%86%D8%B5%D8%A8-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-j8zmi59iooth</link>
                <description>سلام رفقا ?امیدورام که حالتون عالی باشد ...توی این پست می خواهیم با هم یاد بگیریم چجوری می توانیم پایتون رو در سیستم خودمون نصب کنیم....مقدمه مهم ترین و اولین ابزاری که شما برای برنامه نویسی پایتون روی سیستم خودتون نیاز دارید ، مفسر پایتون هست.اگر مفسر پایتون رو روی سیستم خودتون نصب نداشته باشید اصلا نمی توانید کد نویسی پایتون رو انجام بدید.نحوه نصب 1- در قدم اول ، باید وارد وب سایت python.org بشوید و در بالا روی تب download کلیک کنید.توی این صفحه که باز می شود عنوان &quot; Download the latest version for Windows &quot; می بینید که آخرین نسخه ی پایتون اینجا در دسترس هست می توانید طبق تصویر زیر دانلود کنید که در حال حاضر آخرین ورژن پایتون 3.10 هست.اگر خواستید آخرین نسخه پایتون رو به هر دلیلی نصب نکنید به پایین اسکرول کنید و جدولی به عنوان &quot;Looking for a specific release&quot; می بینید که نسخه های دیگر پایتون را می توانید دانلود کنید.اما حتما پیشنهاد می شود آخرین نسخه پایتون رو دانلود و نصب کنید.2 - در مرحله بعد باید فایل نصبی رو اجرا کنید خب روش دابل کلیک می کنیم این پنجره برای ما باز می شوداینجا حتما باید تیک &quot;App Python To PATH&quot; رو باید حتما حتما فعال کنید تا توی cmd ویندوزتون بتوانید از دستورات پایتون رو اجرا کنید. اگر این تیک رو فعال نکنید بعدا به مشکل می خورید.بعدش باید روی گزینه install Now بزنید تا پروسه ی نصب انجام شود.باید صبر کنیم تا پروسه نصب تموم شود.اگر  با پنجره زیر را دیدید یعنی پایتون به درسی روی سیستم خودتون نصب شده است.بررسی صحت نصب حالا باید برای بررسی صحت نصب پایتون باید cmd را باز کنید و دستور python رو توی cmd بزنید اگر با این متن مشاهده شدید منبی بر شناسایی پایتون پس پایتون به درسی روی سیستم شما نصب شده.اما اگر با پیغام زیر مواجه شدید پس یعنی پایتون به درستی روی سیستم شما نصب نشده است.&#x27;python&#x27; is not recognized as an internal or external command,operable program or batch file.برای حل این مشکل اول سیستم خودتون را ریستارت کنید بعدش دوباره تست کنید، اگر بازم این مشکل بود پایتون رو حذف و دوباره نصب کنید و توی پنجره نصب پایتون حتما تیک Add python 3.10 to PATH رو فعال کنید.در نهایت حالا می توانید یک نرم افزار برای محیط برنامه نویسی python نصب کنید مثل Pycharm و vscode هم اگر مبتدی هستید و نیازی به این نرم افزار ها ندارید از خود Python IDLE که با نصب پایتون برای شما نصب شده استفاده کنید.خیلی ممنونم از توجه شما به این پست امیدوارم این پست برای شما مفید واقع شده باشد?خوشحال می شوم نظرات خودتون رو توی کامنت ها به بنده بگید?موفق باشید...</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Fri, 01 Jul 2022 10:13:41 +0430</pubDate>
            </item>
                    <item>
                <title>با پایتون جذر بگیر!</title>
                <link>https://virgool.io/@atanabina/%D8%A8%D8%A7-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%D8%AC%D8%B0%D8%B1-%D8%A8%DA%AF%DB%8C%D8%B1-yvfe2qm1se1z</link>
                <description>سلام رفقا ??با یک پست دیگر اومدیم در خدمت شما ?قراره یاد بگیریم جذر یک عدد را با هم محاسبه کنیم.چجوری جذر رو محاسبه کنیم ؟ما یک ما ماژولی به عنوان math توی پایتون داریم که برای کار های ریاضیات و محاسبات انجام می شود. با استفاده از تابع sqrt می توانیم به راحتی جذر یک عدد را بدست بیاوریم. پس اول باید این تابع را از math داخل برنامه import کنیمfrom math import sqrt و کافیه با دستور پرینت و تابع sqrt جذر عدد مورد نظر را بدست بیاوریم print(sqrt(number))برای مثال می خواهیم جذر عدد 25 را بدست بیاوریم... خب این پست به شدت کوتاه بود :)) امیدورام مفید واقع شده باشد ?تا پست بعدی خدانگهدار ...</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Thu, 30 Jun 2022 23:03:12 +0430</pubDate>
            </item>
                    <item>
                <title>برنامه محاسبه فاکتوریل با پایتون</title>
                <link>https://virgool.io/fboard/fuctorilacalcpython-mh8jvzjn0gfa</link>
                <description>سلام رفقا ?امیدوارم حالتون عالی باشد?توی این پست قراره با هم یاد بگیریم چجوری می توانیم فاکتوریل را توی پایتون محاسبه کنیم. به دو روش توابع معمولی و توابع بازگشتی ...مقدمه توابع قطعا یکی از مهم ترین مطالب توی یادگیری برنامه نویسی هست. قول می دهم زبان برنامه نویسی را نمی شناسید که توش توابع وجود نداشته باشند. یا برنامه نویسی رو نمی شناسید که تعریف یا فراخوانی توابع رو بلد نباشد. پایتون هم از این مسئله مثتثنا نیست و توابع توش وجود دارند.حالا یکی از بهترین مثال ها توی بحث توابع همین نوشتن برنامه محاسبه فاکتوریل هست.ما برای نوشتن این برنامه هم می توانیم از توابع معمولی استفاده کنیم هم از توابع بازگشتی.دیگه حرف زدن بسه ! بریم سراغ نوشتن برنامه ??توابع بازگشتی چی هستند ؟ توابع بازگشتی یکسری توابع هستند که موقعی که تعریف می شوند توی خودشون صدا زده می شوند یا به عبارت می دیگر هنگام تعریف تابع از خود اون تابع استفاده می شود.مثلا تابع x داریم ، ما وقتی داریم این تابع رو تعریف می کنیم ()x استفاده می کنیم.حالا توی مثال کامل متوجه می شوید.فاکتوریل چی هست ؟ الان تابستان هست ؛ تازه از ریاضی راحت شدم :) دوست ندارم با تعاریف ریاضی خودم و شما را خسته کنم اما در کل وقتی می خواهیم فاکتوریل عدد 5 رو پیدا کنیم باید 5 رو ضرب در 4 و ضرب در 3 و 2 و 1 می کنیم یعنی عدد مورد نظرمون رو ضرب در اعداد متوالی 1 تا اون عدد می کنیم.مثلا می خواهیم فاکتوریل 3 رو بدست بیاوریم عبارت : ( 3 * 2 * 1 ) را بدست بیاوریم که حاصل 6 می شود. ( خوبه بدونید که علامت فاکتوریل در ریاضی &quot;!&quot; هست ) فاکتوریل اعداد 1 , 2 , 3 , 4 , 5محاسبه فاکتوریل با توابع معمولیبرای شروع یک تابع تعریف می کنیم من اسم این تابع رو می زارم Functorial_Calc این تابع باید یک متغیر رو به عنوان آرگمان دریافت کند که اسم اونم من number می زارم. خوب بعدش یک متغیر می سازیم و مقدار 1 رو توش قرار می دهیم تا با حقله For بتوانیم به این مقدار اعداد متوالی 1 تا اون عدد را درش ضرب کنیم من اسمش رو می زارم result.در مرحله بعد ، یک حلقه for می سازیم متغیری را به عنوان شمارنده قرار می دهیم من اسمش را i می زارم حالا باید اعداد متوالی رنج 1 تا یک دانه بیشتر از عدد را توی for قرار بدهیم..def Functorial_Calc(number):    result = 1    for i in range(1, number + 1):تا اینجا برنامه ، ما یک عدد می دهیم مثلا وقتی 5 را می به عنوان نامبر می دهیم حالا رنج 1 تا 6 ( یعنی 1 و 2 و3و4و5) را بر می گرداند حالا اول 1 توی i قرار می دهد یک بار for را اجرا می کند بعد 2 را توی i قرار می دهد یک بار دیگر for را اجرا می کند و همینطور تا ادامه ... حالا کد result = result * i توی for قرار می دهیم تا هر بار عدد i با مقدار قبلی result ضرب می شود مثلا الان i یک هست result هم مقدارش یک هست 1 * 1 می شود یک result می شود یک.بعد 2 توی i قرار می گیرد و با مقدار قبلی result که یک بود ضرب می شود 2 توی ریزالت قرار می گیرد به همین راحتی این حلقه ادامه دارد تا result مقدار فاکتوریل بشود.در مرحله آخر کافیه مقدار result را برگردانیم این کار را حتما باید توی ایندنت خود تابع قرار بدهیم نه for وگرنه هر بار result رو بر می گرداند...نمای کلی از تابع باید قبول کنیم درک این برنامه بدون دانش حداقلی از پایتون سخت است :(نوشتن برنامه با توابع بازگشتی خب برای نوشتن برنامه محاسبه فاکتوریل با توابع بازگشتی اول کد را می بینیم : اینجا مثل مثال قبلی یک تابع داریم (اسمش رو هر چی دوست داریم می زاریم) و یک عدد را در آرگمان تابع دریافت می کنیم باید بدانید وقتی وقتی عدد ما یک باشد قاعدتا فاکتوریل آن هم یک هست پس یک شرط تعریف می کنیم که اگر عددمون یک بود برای مقدار فاکتوریل یک را برگردان. یک elif قرار می دهیم می گیم در غیر اینصورت اگر عدد ما یک نبود هر چیزی جز یک بود :return (num * Functorila_second(num - 1)) اصل برنامه این خط کد بالا هست. توی این کد در واقع گفته می شود مقدار عددمون رو در فاکتوریل یکی کمترش ضرب کن. خوب دقت کنید می خواهیم فاکتوریل 5 را بدست بیاوریم ، فاکتوریل چهار (یکی کمتر از یک عدد اصلی )  چیه ؟ (4 * 3 * 2 *1 ) : 24 حالا 24 را در عدد اصلی که 5 باشد ضرب می کنیم می شود : 120 فاکتوریل عدد : عدد * فاکتوریل ( عدد - 1 ) جمله بالا در واقع معنی اون خط کد ما هست ما از اسم تابع استفاده می کنیم تا فاکتوریل یکی کمتر از عدد اصلی را بدست بیاوریم و برگردونیمش ?به همین سادگی....پایان دوستان قبول دارم شاید یکم پیچیده باشد مخصوصا برنامه با توابع بازگشتی اما اگر همین برنامه رو روی کاغذ بنویسید و سعی کنید عملکردش رو برای خودتون شرح بدید کاملا درک می کنید...امیدورام این پست براتون مفید واقع شده باشد??اگر سوالی بود خوشحال می شود بتوانم توی کامنتا بهتون جواب بدم.موفق باشی...</description>
                <category>PyWorld</category>
                <author>PyWorld</author>
                <pubDate>Thu, 30 Jun 2022 22:40:34 +0430</pubDate>
            </item>
            </channel>
</rss>