غیرممکن است بیش از دو دوره یادگیری پایتون را دیده باشید اما در آن از ژوپیتر نوت بوک (Jupyter Notebook) استفاده نشده باشد. تقریبا تمام توسعهدهندگان باتجربه پایتون، این ابزار را میشناسند و حتی به صورت روزانه از آن استفاده میکنند. اما ژوپیتر نوت بوک دقیقا چیست و چه مزیتی در مقابل محیطهای توسعه اختصاصی مانند پایچارم (pycharm) ارائه میدهد؟ در این مقاله از بلاگ آسا قرار است در مورد ژوپیتر نوت بوک صحبت کنیم، بنابراین اگر میخواهید یادگیری پایتون را شروع کنید و یا هنوز Jupyter را امتحان نکردهاید، این مطلب برای شماست.
ژوپیتر نوت بوک (Jupyter Notebook) چیست؟
ژوپیتر نوتبوک یک محیط برنامهنویسی مبتنی بر وب است که به شما این امکان را میدهد تا کدهای خود را بنویسید، اجرا کنید و نتایج را بهصورت همزمان مشاهده کنید. همچنین، میتوانید در کنار هر بخش از کد، یادداشتها و توضیحاتی را اضافه کنید که به شما و دیگران کمک میکند تا مفهوم کدها را بهتر درک کنید. این قابلیت بهویژه زمانی جذاب میشود که بدانید ژوپیتر امکان اشتراکگذاری نوتبوکها را هم فراهم کرده است.
هرچند که ژوپیتر نوتبوک بیشتر برای کدنویسی مورد استفاده قرار میگیرد، اما این ابزار میتواند متن، تصویر، ویدئو و انواع دیگری از اسناد را هم ذخیره کند و نمایش دهد. یکی از ویژگیهای برجسته ژوپیتر نوتبوک، امکان نوشتن کد در بلوکهای جداگانه به نام سلول (Cell) است. به جای اینکه یک برنامه را بهصورت کامل و در یک بخش بنویسید، میتوانید کدهای خود را در چندین سلول تقسیم کنید و هر کدام را بهصورت مستقل اجرا کنید.
در ابتدا، ژوپیتر فقط از زبان Python پشتیبانی میکرد، اما امروزه بیش از ۴۰ زبان برنامهنویسی دیگر، از جمله Julia و R در آن قابل استفاده هستند. این انعطافپذیری ژوپیتر نوتبوک را به ابزاری محبوب میان محققان، دانشمندان داده و حتی توسعهدهندگان وب تبدیل کرده است.
ویژگیهای کلیدی ژوپیتر نوت بوک
احتمالا از خود میپرسید که چرا ژوپیتر نوت بوک تا این حد معروف است. این ابزار توسعه ویژگیهای زیادی ارائه میدهد اما دو ویژگی آن بیشتر مورد توجه قرار گرفته که شامل سلولها و محیط تعاملی آنلاین آن است. در ادامه ویژگیهای ژوپیتر را مرور میکنیم.
رابط کاربری تحت وب
همانطور که گفته شد، ژوپیتر نوتبوک یک رابط کاربری مبتنی بر وب ارائه میدهد. بنابراین در هر جایی و با هر نوع رایانهای میتوانید کدهای خود را از طریق مرورگر خود ایجاد، ویرایش و اجرا کنید.
سلولها (Cells)
دومین ویژگی جذاب ژوپیتر، سلولهای آن است که به دو نوع اصلی تقسیم میشوند: سلولهای کد که حاوی کد اجرایی هستند و سلولهای Markdown که میتوانید در آن متن، توضیحات، تصاویر و حتی فرمولها را وارد کنید.
کرنل (Kernel)
کرنلها موتورهای محاسباتی هستند که کد را در زبانهای برنامهنویسی مختلف اجرا میکنند. هر نوتبوک به یک کرنل خاص متصل است که وظیفه اجرای کد و ارتباط با رابط کاربری نوتبوک را برعهده دارد.
محاسبات تعاملی
ژوپیتر از زبانهای برنامه نویسی مختلف از جمله Python، R، Julia و غیره پشتیبانی میکند. شما میتوانید کدها را با هر زبانی که میخواهید در سلولهای جداگانه بنویسید و اجرا کنید. خروجیهای کد اجرا شده، بهصورت خودکار زیر سلول مربوطه نمایش داده میشوند.
ادغام با کتابخانههای پرطرفدار
ژوپیتر نوت بوک از کتابخانهها و فریمورکهای پرطرفدار مانند NumPy، پانداس Matplotlib، seaborn، scikit-learn، TensorFlow و PyTorch پشتیبانی میکند. بنابراین میتوانید در حوزههای مختلف از یادگیری ماشین تا تحلیل داده از ژوپیتر استفاده کنید.
انعطافپذیر و توسعهپذیر
ژوپیتر به شما امکان اضافه کردن افزونههای مختلف را میدهد. بنابراین میتوانید از افزونههایی مانند تکمیل خودکار کد، پوشش کد و یکپارچهسازی کنترل نسخه برای سرعت بخشیدن به فرایند توسعه بهره ببرید.
این ویژگیها ژوپیتر نوتبوک را به ابزاری تعاملی و منعطف تبدیل میکنند که اجرای کد، مستندسازی و مصورسازی دادهها را در یک محیط یکپارچه فراهم میآورد.
نحوه نصب و شروع به کار Jupyter Notebook
ژوپیتر نوت بوک را میتوان با استفاده از توزیع Anaconda یا با استفاده از pip (مدیر بسته پیشفرض پایتون) نصب کرد. در ادامه روش نصب ژوپیتر با استفاده از pip را مشاهده میکنید.
۱. پایتون را دانلود و نصب کنید: آخرین نسخه پایتون را برای ویندوز یا macOS از وبسایت رسمی پایتون دانلود و نصب کنید.
۲. ژوپیتر نوت بوک را نصب کنید: برای نصب ژوپیتر کافیست ترمینال را در سیستم خود باز کنید و متن زیر را در پنجره تایپ کنید:
- برای ویندوز: pip install notebook
- برای مک: pip3 install notebook
برای شروع نصب، enter را فشار دهید. باید چندین خط متن را در پنجره ترمینال مشاهده کنید، این یعنی Jupyter Notebook در حال نصب است. پس از اتمام نصب، نمایش متن متوقف میشود.
۳. ژوپیتر نوت بوک را اجرا کنید: بعد از اینکه فرایند نصب ژوپیتر به اتمام رسید، متن زیر را در پنجره ترمینال تایپ کنید:
jupyter notebook
حالا Enter را بزنید تا به طور خودکار برنامه Jupyter Notebook در مرورگر وب پیشفرض شما راهاندازی شود.
۴. نوت بوک جدید ایجاد کنید: در صفحه Jupyter Notebook باز شده، روی دکمه «new» کلیک کنید و «Python 3» را از منوی کشویی انتخاب کنید. با این کار صفحه وب دیگری برای یک نوت بوک جدید باز میشود.
حالا میتوانید کدهای خود را درون سلولها بنویسید، اجرا کنید و حتی آن را با تیم خود و افراد دیگر به اشتراک بگذارید.
آشنایی با ساختار و نحوه استفاده از ژوپیتر نوتبوک
خب حالا که نحوه نصب و شروع به کار ژوپیتر نوت بوک را میدانید، زمان آن است که نگاهی به ساختار و امکانات این ابزار توسعه داشته باشیم.
همانطور که گفته شد، باید کدهای خود را در سلولها بنویسید. بعد از نوشتن کد در یک سلول، روی همان روی سلول کلیک کنید تا انتخاب شود و سپس کلیدهای SHIFT+ENTER را فشار دهید یا از دکمه «play» در نوار ابزار استفاده کنید. همچنین در منوی کرکرهای Cell میتوانید گزینههای مختلفی برای اجرای سلولها ببینید، از جمله اجرای تکتک سلولها یا اجرای همه سلولها بهطور همزمان.
مدیریت سلولها در ژوپیتر
بعد از اجرای سلول، خروجی کد در زیر همان سلول نمایش داده میشود. برای متوقف کردن اجرای یک کد، میتوانید روی دکمه توقف کلیک کنید. برای ایجاد سلولهای جدید، از دکمه (+) در نوار ابزار استفاده کنید یا با زدن SHIFT+ENTER در آخرین سلول، یک سلول جدید بسازید. علاوه بر اجرای کد، میتوانید سلولهایی با متن خالص نیز ایجاد کنید که از Markdown برای قالببندی و سازماندهی نوتبوکها استفاده میکنند.
توجه داشته باشید که وقتی یک سلول جدید ایجاد میکنید، به طور پیشفرض، سلول به عنوان «سلول کد» شناخته میشود. برای ایجاد سلولی که از Markdown استفاده میکند، به منوی Cell بروید و گزینه Cell Type را انتخاب کنید و سپس Markdown را بزنید.
نوار ابزار ژوپیتر نوت بوک
ژوپیتر نوت بوک مانند تمام ابزارهای توسعه یک نوار ابزار کارآمد ارائه میدهد تا رسیدگی به درخواستهای متداول را سادهتر کند. از چپ به راست: ذخیره کردن، افزودن یک سلول جدید، کات کردن سلولهای انتخاب شده، کپی کردن سلولهای انتخاب شده، چسباندن سلولها، جابجایی سلولهای انتخاب شده به بالا یا پایین، اجرای سلول، قطع کرنل، ریاستارت کرنل، یک منوی کشویی برای تغییر نوع سلول و یک میانبر برای باز کردن خط فرمان در این نوار ابزار دیده میشوند.
ذخیرهسازی فایلها در ژوپیتر
ذخیرهسازی فایلهای نوتبوک ژوپیتر به صورت خودکار و با پسوند ipynb و فرمت Json انجام میشود. همچنین میتوانید نوتبوکهای ژوپیتر را در فرمتهای دیگری مثل HTML ذخیره کنید. برای این کار به منوی File بروید، گزینه Download as را انتخاب کنید و نوع فایل مدنظر خود را را مشخص کنید. سپس یک پنجره پاپآپ باز میشود که از شما محل ذخیرهسازی فایل جدید را میپرسد.
موارد استفاده و کاربردهای ژوپیتر نوت بوک
تمرکز ژوپیتر نوت بوک بر تطبیقپذیری، تعامل و پشتیبانی از همکاری در توسعه است و به همین دلیل توانسته به انتخاب اول بسیاری از تیمهای توسعه تبدیل شود. در ادامه مهمترین کاربردهای ژوپیتر نوت بوک را مرور میکنیم.
- تجزیه و تحلیل دادهها: ژوپیتر نوتبوک یکی از محبوبترین ابزارها برای تحلیلگران داده است، زیرا از کتابخانههایی مانند Pandas، NumPy و Matplotlib پشتیبانی میکند. به این ترتیب کاربران میتوانند دادهها را بارگذاری، پردازش و تجزیه و تحلیل کنند.
- مصورسازی دادهها: علاوه بر تجزیه و تحلیل دادهها، کاربران میتوانند از کتابخانههایی مانند Matplotlib، Seaborn، و Plotly برای نمایش گرافیکی دادهها استفاده کنند. این ویژگی برای پروژههای علمی و گزارشدهی بسیار مفید است.
- یادگیری ماشین: دانشمندان داده اغلب از ژوپیتر برای توسعه نمونههای اولیه مدل ML استفاده میکنند. ژوپیتر با پشتیبانی از کتابخانههایی مانند scikit-learn، TensorFlow و Keras یک گزینه عالی برای توسعه سریع نمونههای اولیه است.
- توسعه تیمی: همانطور که گفته شد، کاربران میتوانند کدها و توضیحات مربوطه را در سلولهای ژوپیتر بنویسند و به اشتراک بگذارند. این ویژگی جذاب باعث میشود ژوپیتر یک ابزار کارآمد برای توسعه تیمی و همکاری باشد.
- آموزش و یادگیری: در حال حاضر بسیاری از محیطهای آکادمیک، از ژوپیتر نوت بوک برای آموزش استفاده میکنند. دانشجویان میتوانند تکالیف و پروژههای خود را در نوتبوک انجام دهند و آنها را بهصورت فایلهای قابل اشتراکگذاری به اساتید خود ارائه دهند.
علاوه بر موارد بالا، توسعهدهندگان از ژوپیتر نوت بوک برای پاکسازی و تبدیل دادهها، تحقیقات علمی و تکرارپذیر، اتوماسیون پردازشها و همچنین کاوش دادهها استفاده میکنند.
یک نکته؛ نوت بوک ژوپیتر همیشه بهترین ابزار برای شما نیست
به پایان مقاله نزدیک هستیم و باید یک نکته مهم را بدانید: با وجود اینکه ژوپیتر یک ابزار توسعه عالی است، اما جای یک محیط توسعه یکپارچه (IDE) مانند PyCharm یا Visual Studio Code را نمیگیرد. نوت بوک ژوپیتر یک ابزار جذاب برای نمونهسازیهای اولیه، توسعه تیمی و آموزش است اما زمانی که پروژه شما بزرگ و پیچیده شود، قطعا نیاز دارید که کد خود را از Jupyter به یک IDE منتقل کنید.
تفاوت مهم دیگری که باید در نظر بگیرید، قابلیتهای تکمیل کد و امکانات توسعه سریعتر است. ژوپیتر تا حدی از این قابلیتها پشتیبانی میکند اما به هیچ وجه نمیتواند با پایچارم رقابت کند. بنابراین اگر قرار است یک پروژه پیچیده و بزرگ را توسعه دهید، احتمالا ژوپیتر بهترین انتخاب ممکن نباشد.
ژوپیتر نوت بوک؛ ابزار روزانه توسعه
در این مطلب سعی کردیم هر آنچه که نیاز بود در مورد ژوپیتر نوت بوک بدانید را به شما بگوییم. همانطور که دیدید، Jupyter Notebook یک ابزار فوقالعاده برای توسعه سریع کدها، نمونههای اولیه، پروژههای کوچک و متوسط، توسعه گروهی و ارائه پروژهها و تمرینات در محیطهای آکادمیک است. بنابراین اگر به یک ابزار توسعه قدرتمند نیاز دارید که در هر زمان و مکانی به آن دسترسی داشته باشید، ژوپیتر نوت بوک باید در ابتدای لیست شما باشد.
منابع:
www.domino.ai | www.jupyter-notebook-beginner-guide.readthedocs.io | www.dataquest.io
دیدگاهتان را بنویسید