021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16
  • 5

آموزش Jupyter Notebook

ژوپیتر نوت بوک یک مواردی است که اگر می خواهید در حوزه برنامه نویسی کار کنید حتما باید بر آن مسلط باشید ما سعی کردیم در این آموزش به صورت کلی مفاهیم پایه ای از نرم افزار Jupyter Notebook را برای شما به ساده ترین شکل ممکن توضیح دهیم شاید مواردی در این آموزش گنجانده نشده باشد که سعی می شود در سری مقالات آینده حتما جبران شود.

راهنمای آموزش

پیشنیاز ها:

  • زبان برنامه نویسی پایتون
  • اصول مقدماتی استفاده از نرم افزار های کامپیوتری

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

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

پس این نکته رو حتما در نظر بگیرید.

هدف مقاله

کار هایی که در آموزش انجام میشه:

  • اصول نصب Jupyter و ایجاد اولین نوت بوک خود را پوشش دهید.
  • عمیق تر در ژوپیتر کار کنید و تمام اصطلاحات مهم را یاد بگیرید.
  • میابر های ژوپیتر نوت بوک
  • افزونه های ژوپیتر نوت بوک
  • سرچ کنید که چجوری میشه نوت بوک ها را به راحتی به اشتراک گذاشت و به صورت آنلاین منتشر کرد.

(در واقع،خود این مقاله این مقاله به عنوان یک نوت بوک Jupyter نوشته شده است! در اینجا به صورت فقط خواندنی منتشر شده است، اما این نمونه خوبی از این است که نوت بوک ها چقدر می توانند همه کاره باشند. در واقع، بیشتر آموزش های برنامه نویسی ما و حتی دوره های پایتون ما که در فروشگاه برای دانلود وجود داره، با استفاده از نوت بوک های Jupyter نوشته شده.).

 

ژوپیتر نوت بوک چیست ؟

مقدمه

با سلام خدمت تمامی شما دوستداران برنامه نویسی پایتون و همه همراهان خوب وبسایت پایتونی ها تو این مقاله می خوایم راجبه یکی از مهم ترین ابزار های برنامه نویسی پایتون با هم صحبت کنیم به نام ژوپیتر نوت بوک یا همون Jupyter Notebook کار اصلی این نرم افزار در وهله اول انجام محاسبات شیمی بود ولی خوب بعد مدتی سازنده های این نرم افزار تغییر جهت دادن و نرم افزاری امروزه ما برای کلی از زبان های برنامه نویسی و پروژه های صنعتی استفاده کردن و الان نرم افزاری که پیش روی خودمون داریم خیلی سریعت تر و جامع تر هستش.ما تو این مقاله فرض رو بر این موضوع گرفتیم که شما هیچ اطلاعی از ژوپیتر نوت بوک ندارید و هیچ چیزی راجبش نمیدونید پس اگر قسمتی از مقاله به صورت کاملا مبتدیانه نوشته شده شما می تونید، از قسمت های حرفه ای تر و بهترش استفاده کنید.

ژوپیتر یک نرم فزار تحت مرورگر هستش ! یعنی چی !؟

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

مثل شکل زیر:

آموزش ژوپیتر نوت بوک

آموزش ژوپیتر نوت بوک

یکی از مواردی خیلی مهمی که تو ژوپیتر نوت بوک وجود داره استفاده از کد ها به صورت سلولی هستش که هر سلول می تونه از سلول های دیگه جدا باشه. خوب حالا این یعنی چی ؟

در ژوپیتر نوت بوک هر کد به صورت یک بلوک جدا گانه یا سلول اجرا میشه سلول ها در هر قسمت از نرم افزار ژوپیتر نوت بوک می تونند نقش های مختلفی رو بازی کنند به صورت مثال: شاید یک سلول اصلا از هیچ کدی استفاده نکنه یا این که بیاد همه کد های موجود در یک سلول رو ران کنه، خوب این موضوع سلول خیلی سادست ولی شاید چون باهاش آشنایی ندارید یه ذره پیچیده به نظر برسه. پس میریم سراغ ادامه بحث تا به موقعش مفصل راجبش صحبت کنیم.

تا اینجای کار متوجه شدیم، Jupyter Notebook ابزاری فوق العاده قدرتمند برای توسعه و ارائه پروژه های علم داده(یا همون دیتاساینس خودمون) به صورت تعاملیه.

اما اول ما باید راجب نوت بوک ها بدونیم !

نوت بوک چیست؟ 

یا همان Jupyter Notebook چیست ؟

یک نوت بوک یا همان سلول(Cell) کد و خروجی آن را در یک سند ادغام میشه که مصورسازی داده، خروجی متن، معادلات ریاضی و سایر رسانه هایی رو  با هم ترکیب می کند. به عبارت دیگر: این یک سند واحد است که در آن می توانید کد را اجرا کنید، خروجی را نمایش دهید، و همچنین توضیحات، فرمول ها، نمودارها را اضافه کنید و کار خود را شفاف تر، قابل فهم تر، تکرارپذیرتر و قابل اشتراک گذاری کنید.

متن بالا یک تعریف درست صحیح از یک نوت بوک ژوپیتر یا همون سلول ها رو به ما میده به صورت ساده: در واقع یک سلول یا نوت بوک می تونه خروجی همون چیزی رو که داخل می نویسیم رو برای ما زیر همون نوت بوک جواب بده، حالا خروجی ما می تونه جواب یک فرمول ساده ریاضی باشه یا می تونه یک نرم افزار گرافیکی باشه.

در حال حاضر یعنی همین سالی که توش هستیم 2022 خیلی از شرکت های دیتاساینس یا همون علم داده برای پروژه های خودشون از این ژوپیتر نوت بوک استفاده می کنند. یکی از استفاده های دیگه ژوپیتر نوت بوک توی بحث آموزشی هستش خیلی از وبسایت ها، دوره های آنلاین و مدرسین از همین نرم افزار برای آموزش خودشون استفاده می کنند.

کار با این نرم افزار اینقدر حرفه ای و راحت هستش که خیلی از دانشگاه های سراسر دنیا این نرم افزار به عنوان، یک نرم افزار همه فن حریف در سیستم آموزشی خودشون استفاده می کنند.

اگر هدف از استفاده برای کار با داده است، استفاده از نوت بوک سرعت کار شما را افزایش می بخشد، برقراری ارتباط و به اشتراک گذاری نتایج را آسان تر می کند.

ژوپیتر نوت بوک بیش تر از 100 زبان برنامه نویسی رو ساپورت می کنه اما ما در این مقاله فقط به زبان برنامه نویسی پایتون اشاره می کنیم، ما اینجا چند تا از زبان های برنامه نویسی که ژوپیتر پشتیبانی می کنه رو براتون لیست می کنیم:

  • Julia
  • Processing
  • R
  • Java
  • Scheme
  • Octave
  • Matlab
  • Scala

لیست شرکت هایی که در حال حاضر از ژوپیتر نوت بوک استفاده می کنند:

  • Google
  • Microsoft
  • IBM
  • Bloomberg
  • OReilly
  • Anaconda
  • rackspacke
  • Soundcloud
  • Quantopian
  • NetApp
  • Software Carpentry
  • hhmi janelia
  • code Neuro
  • N-Site LLC
  • COCALC
  • The Univercity Of Sheffield
  • The George Washington Unversity
  • CLEMSON
  • Michigan STATE University
  • Northwestern University
  • NYC
  • NASA
  • AYASDI
  • The DATA

نصب و راه اندازی

ساده ترین راه برای شروع با نوت بوک های Jupyter، نصب نرم افزار Anaconda است.

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

Anaconda پرکاربردترین نسخه پایتون برای علم داده(یا دیتاساینس) است و با همه کتابخانه ها و ابزارهای محبوب از قبل بارگذاری و تلفیق شده است.

برخی از بزرگترین کتابخانه‌های پایتون موجود در آناکوندا شامل NumPy، Pandasو Matplotlib هستند، اگرچه فهرست کامل بیش از 1000 را  وجود داره.

 

بنابراین َAnaconda به ما اجازه می دهد تا بدون دردسر نصب، همه کتابخانه های مورد نیازمان را که در زمینه تحلیل داده یا همان دیتاساینس مورد استفاده قرار می دهیم به صورت ساده نصب کنیم و درگیر مشکلات نصب کتابخانه ها در سیستم عامل های مختلف مخصوصا ویندوز نشیم و یک کارگاه مجهز از تجهیزات را برای خودمون درست کنیم.

برای دریافت آناکوندا، می تونید از 2 روش زیر استفاده کنید:

عکس سایت Anaconda

آموزش ژوپیتر نوت بوک

آموزش ژوپیتر نوت بوک

  • آخرین نسخه Anaconda را برای Python 3.8 دانلود کنید.
  • آناکوندا را با دنبال کردن دستورالعمل‌های زیر در صفحه دانلود و/یا در فایل اجرایی نصب کنید.
  • یا می تونید یه کار دیگه هم بکنید پایین همین پست فایل مورد نیاز رو بر اساس سیستم عامل خودتون دانلود کنید.
آموزش ژوپیتر نوت بوک

آموزش ژوپیتر نوت بوک

اگر کاربر واردتری هستید که پایتون قبلاً روی سیستم شما نصب شده و ترجیح می‌دهید بسته‌های خود را به صورت دستی نصب کنید، می‌توانید فقط از pip استفاده کنید:

pip3 install jupyter

یا از دستور زیر استفاده کنید:

pip install jupyter

آموزش ژوپیتر نوت بوک

البته قبل باید چک کنید ورژن PIP شما آپدیت هستش و آیا از آخرین نسخه استفاده می کنید یا نه ؟ که می تونید از دستورات زیر استفاده کنید:

با این دستور می تونید ورژن PIP خودتون رو چک کنید:

pip --version.

و با استفاده از این دستور می تونید ورژن PIP خودتون رو به آخرین نسخه ارتقا بدید:

python -m pip install –upgrade pip

 

ساخت اولین ژوپیتر نوت بوک

در این بخش، ما می خواهیم یاد بگیریم که نوت بوک ها را اجرا و ذخیره کنیم، با ساختار آنها آشنا شویم و رابط کاربری آن ها را درک کنیم. ما با برخی از اصطلاحات اصلی آشنا خواهیم شد که شما را به درک عملی از نحوه استفاده از نوت بوک های Jupyter توسط خودتان راهنمایی می کند و شما را برای آموزش بخش بعدی آماده می کند.

 

راه اندازی ژوپیتر نوت بوک

برای را اندازی ژوپیتر نوت بوک می توانید با استفاده از منو استارت در ویندوز، بر روی نرم افزار آناکندا کلیک کرده و نرم افزار را اجرا کنید و یا می توانید با استفاده از میان بر Win + R وارد پنجره Run در استارت منو شوید و با تایپ کلمه زیر محیط ژوپیتر نوت بوک خود را ران کنید.

آموزش ژوپیتر نوت بوک

آموزش ژوپیتر نوت بوک

jupyter notebook

یک صفحه به صورت خودکار در مرورگر شما باز خواهد شد، صفحه ای مانند عکس زیر را باید در مرورگر خود مشاهده کنید:

آموزش جوپیتر نوت بوک

آموزش ژوپیتر نوت بوک

اگر هم به هر دلیلی نمی خواهیم که وقتی که ژوپیتر را راه اندازی می کنیم به صورت خودکار یک صفحه در مرورگر ما باز نشود می توانیم به صورت جایگزین دستور زیر را در محیط خط فرمان اجرا کنیم.

jupyter notebook --no-browser

 

روش بعدی که در اجرای ژوپیتر وجودداره استفاده از تنظیمات آدرس IP مناسب هستش به صورت مثال با استفاده از تنظیم زیر شما آدرس IP خودتون رو داخل تمام شبکه های داخلی و خارجی ست می کنید:

jupyter notebook --ip 0.0.0.0

 

استفاده از تنظیمات پورت مناسب؛ برای زمانی هستش که شما نمی خواید روی پورت پیش فرض خود ژوپیتر نوت بوک بیاید نرم افزار رو اجرا کنید برای انتخاب پورت مورد نظر به 8888 شماره پورت مورد نظر خودتون رو وارد کنید.

jupyter notebook --port=8888

 

ساخت اولین NoteBook

اما هنوز شما یک نوت بوک یا دفترچه یاداشت درست نکردید، این داشبورد محیط ژوپیتر نوت بوک است که به طور خاص برای مدیریت نوت بوک های Jupyter شما طراحی شده است. شما می توانید در این قسمت فایل اپلود کنید، ژوپیتر اضافه، حذف، یا اصلاح کنید و در واقع تمامی تغییرات مورد نیاز بر روی نوت بوک های خود را اینجا می توانید انجام دهید.

 

نکته*:توجه داشته باشید که در داشبورد فقط به فایل‌ها و پوشه‌های فرعی موجود در فهرست راه‌اندازی Jupyter (یعنی جایی که Jupyter یا Anaconda نصب شده است) دسترسی خواهید داشت. با این حال، فهرست راه اندازی را می توان تغییر داد.

با باز شدن Jupyter Notebook در مرورگر خود، ممکن است متوجه شده باشید که URL داشبورد چیزی شبیه https://localhost:8888/tree است. Localhost یک وب سایت نیست، اما نشان می دهد که محتوا از دستگاه محلی شما ارائه می شود: یعنی رایانه شخصی شما و ارتباطی با اینترنت ندارد.

نوت‌بوک‌ها و داشبورد Jupyter برنامه‌های وب هستند و Jupyter یک سرور محلی Python راه‌اندازی می‌کند تا این برنامه‌ها را به مرورگر وب شما اضافه کند، که اساساً آن را مستقل از پلتفرم می‌کند و دری را برای اشتراک‌گذاری آسان‌تر در وب باز می‌کند.

(اگر هنوز متوجه نشده اید، نگران نباشید – نکته مهم فقط این است که اگرچه Jupyter Notebooks در مرورگر شما باز می شود، اما در دستگاه محلی شما میزبانی می شود و اجرا می شود. نوت بوک های شما در واقع در وب نیستند تا زمانی که شما تصمیم بگیرید که آنها را به اشتراک بگذارید یا نه.)

روی دکمه کشویی «New» در بالا سمت راست کلیک کنید و «Python 3» را انتخاب کنید:

آموزش جوپیتر نوت بوک

آموزش ژوپیتر نوت بوک

 

اولین نوت بوک Jupyter شما در برگه جدید باز می شود – هر نوت بوک از تب مخصوص به خود استفاده می کند دلیل آن این است که می توانید چندین نوت بوک را به طور همزمان باز کنید. اگر به داشبورد برگردید، فایل جدید Untitled9.ipynb را خواهید دید و باید مقداری متن سبز رنگ را مشاهده کنید که به شما می گوید نوت بوک شما در حال اجرا است.

آموزش ژوپیتر

آموزش ژوپیتر نوت بوک

فایل ipynb چیست؟

هر فایل .ipynb یک نوت بوک است، بنابراین هر بار که یک نوت بوک جدید ایجاد می کنید، یک فایل ipynb. جدید ایجاد می شود.

هر فایل .ipynb یک فایل متنی است که محتویات نوت بوک شما را در قالبی به نام JSON توصیف می کند. هر سلول و محتویات آن، از جمله پیوست‌های تصویری که به رشته‌های متنی تبدیل شده‌اند، همراه با برخی داده در آن فهرست شده‌اند.

شما می توانید این را خودتان ویرایش کنید – اگر می دانید چه کار می کنید! — با انتخاب «ویرایش > ویرایش فراداده نوت بوک» از نوار منو در نوت بوک. همچنین می‌توانید با انتخاب «ویرایش» از کنترل‌های روی داشبورد، محتویات فایل‌های نوت‌بوک خود را مشاهده کنید.

با این حال، کلمه کلیدی وجود دارد می تواند. در بیشتر موارد، هیچ دلیلی وجود ندارد که نیاز داشته باشید متادیتای نوت بوک خود را به صورت دستی ویرایش کنید.

 

رابط نوت بوک

اکنون که یک نوت بوک باز در مقابل خود دارید، Jupyter در اصل فقط یک واژه پرداز پیشرفته است. چرا نگاهی به اطراف نمی اندازید؟ منوها را بررسی کنید تا احساسی غریبی نسبت به آن نداشته باشید، به خصوص چند لحظه زمان بگذارید تا لیست دستورات را در پالت فرمان به پایین اسکرول کنید، که دکمه کوچک با نماد صفحه کلید (یا Ctrl + Shift + P) است.

آموزش ژوپیتر نوت بوک

 

دو عبارت وجود دارد که باید به آنها توجه کنید، که احتمالاً برای شما جدید هستند:

1.سلول‌ها و 2.هسته‌ها برای درک Jupyter و دقت داشته باشید درک این 2 موضوع مهم بسیار، کلیدیست، خوشبختانه درک این مفاهیم دشوار نیست.

  • هسته یک “موتور محاسباتی” است که کدهای موجود در یک سند نوت بوک را اجرا می کند.
  • سلول محفظه ای برای متنی است که باید در نوت بوک نمایش داده شود یا کدی که باید توسط هسته نوت بوک اجرا شود.

 

سلول ها

جلوتر که بریم در مورد هسته‌ها بیشتر صحبت می کنیم، اما ابتدا اجازه دهید با سلول‌ها شروع کنیم. سلول ها بدنه یک دفترچه یادداشت را تشکیل می دهند. در اسکرین شات یک نوت بوک جدید در بخش بالا، آن کادر با طرح کلی سبز یک سلول خالی است. دو نوع سلول اصلی وجود دارد که به آنها خواهیم پرداخت:

  • یک سلول کد حاوی کدی است که باید در هسته اجرا شود. هنگامی که کد اجرا می شود، نوت بوک خروجی را در زیر سلول کدی که آن را تولید کرده است نمایش می دهد.
  • یک سلول Markdown حاوی متنی است که با استفاده از Markdown قالب بندی شده است و خروجی خود را در زمان اجرای سلول Markdown نمایش می دهد.

نکته*:اگر نمی دانید Markdown چیست، این مقاله رو مطالعه کنید.

اولین سلول در یک نوت بوک جدید همیشه یک سلول کد است.

بیایید آن را با یک مثال کلاسیک hello world آزمایش کنیم: print(‘Hello World!’) را در سلول تایپ کنید و روی دکمه اجرا دکمه اجرای Notebook را کلیک کنید.

برای شروع شدن کار سلول روی دکمه شبیه Play است کلیک کنید یا Ctrl + Enter را فشار دهید.

print('Hello World')

جواب:

Hello World

 

وقتی سلول را اجرا می کنیم، خروجی آن در زیر نمایش داده می شود و برچسب سمت چپ آن از In [ ] به In [1] تغییر می کند.

 

خروجی یک سلول کد نیز بخشی از سند را تشکیل می دهد، به همین دلیل است که می توانید آن را در این مقاله مشاهده کنید. شما همیشه می توانید تفاوت بین کد و سلول های Markdown را تشخیص دهید زیرا سلول های کد آن برچسب را در سمت چپ دارند و سلول های Markdown این برچسب را ندارند.

 

قسمت “In” برچسب به سادگی مخفف “Input” است، در حالی که شماره برچسب نشان می دهد که سلول در هسته اجرا شده است – در این مورد سلول ابتدا اجرا شده است.

سلول را دوباره اجرا کنید و برچسب به In [2] تغییر می کند زیرا اکنون سلول دومی بود که روی هسته اجرا می شد. بعداً وقتی نگاه دقیق‌تری به هسته‌ها بیندازیم، روشن‌تر می‌شود که چرا این اجزا بسیار مفید هستند.

از نوار منو، روی Insert کلیک کنید و Insert Cell Below را انتخاب کنید تا یک سلول کد جدید در زیر اولین کد خود ایجاد کنید و کد زیر را امتحان کنید تا ببینید چه اتفاقی می‌افتد. آیا متوجه چیز متفاوتی می شوید؟

import time
time.sleep(3)

 

این سلول هیچ خروجی تولید نمی کند، اما سه ثانیه طول می کشد تا اجرا شود. توجه کنید که Jupyter چگونه نشان می دهد که سلول در حال حاضر با تغییر برچسب آن به [*] در حال اجرا است.

به طور کلی، خروجی یک سلول از هر داده متنی که به طور خاص در طول اجرای سلول چاپ شده است، و همچنین مقدار آخرین خط در سلول، خواه یک متغیر تک، یک فراخوانی تابع یا چیز دیگری باشد، می آید. مثلا:

def say_hello(recipient):
    return 'Hello, {}!'.format(recipient)

say_hello('Tim')

 

'Hello, Tim!'

شما در ادامه خواهید دید که از این موضوع دائماً در پروژه های خود استفاده می کنید.

کلید های میانبر صفحه کلید

آخرین نکته ای که ممکن است هنگام اجرای سلول های خود مشاهده کرده باشید این است که مرز آنها آبی می شود، در حالی که در هنگام ویرایش سبز بود. در یک نوت بوک Jupyter، همیشه یک سلول “فعال” با حاشیه ای وجود دارد که رنگ آن نشان دهنده حالت فعلی آن است:

  • رنگ کادر سبز – سلول در “حالت ویرایش” است.
آموزش ژوپیتر

آموزش ژوپیتر نوت بوک

  • رنگ کادر آبی – سلول در “حالت فرمان” است.

آموزش ژوپیتر نوت بوک

بنابراین وقتی یک سلول در حالت فرمان است، چه کاری می توانیم انجام دهیم؟ تا کنون، نحوه اجرای یک سلول با Ctrl + Enter را دیده ایم، اما دستورات زیادی وجود دارد که می توانیم از آنها استفاده کنیم. بهترین راه برای استفاده از آنها شرت کات ها یا همان میانبرهای صفحه کلید است.

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

در زیر، فهرستی از برخی از میانبرهای صفحه کلید Jupyter را خواهید دید، ولی لازم نیست فوراً همه آنها را به حفظ کنید.

  • با استفاده از کلیک ها بالا و پایین می توانید در بین سلول های خود به بالا و پایین حرکت کنید.
  • با استفاده از دکمه A روی کیبرد یک سلول در بالای سلول موجود ایجاد میشودو با دکمه B یک سلول پایین سلول موجود روی کیبرد ایجاد می شود.
  • با استفاده از کلید M سلول موجود را از کد به یک سلول Markdown تبدیل می کند.
  • با استفاده از کلید Y سلول موجود را از Markdown به یک سلول کد تبدیل می کند.
  • با دو بار فشار دادن D پشت سر هم بر روی کیبرد یک سلول حذف می شود.
  • با فشار دادن کلید Z سلول هایی که حذف شده دوباره برگشت داده می شوند.
  • با استفاده از کلید Shift + up , Shift + down می توانید همزمان چندین سلول را انتخاب کنید.
  • و با استفاده از کلید Shift + M می توانید چندین سلول را با یکدیگر ادغام کنید.
  • با استفاده از موس Shift + Click در حاشیه سمت چپ سلول های خود کلیک کنید تا آنها برای ادغام انتخاب شوند.

 

موارد بالا را تمرین کنید تا با استفاده از میانبر ها راحت تر بتوانید از ژوپیتر نوت بوک استفاده کنید.

 

Markdown

Markdown یک زبان نشانه گذاری سبک و آسان برای قالب بندی متن است. نحو یا دستور زبان نگارش آن با تگ های HTML مطابقت یک به یک دارد، بنابراین پیش نیاز زبان برنامه نویسی HTML اینجا احساس میشود.

به خاطر داشته باشید که این مقاله در یک دفترچه یادداشت Jupyter نوشته شده است، بنابراین تمام متن ها و تصاویری که تاکنون دیده اید در Markdown نوشته شده اند. اجازه دهید اصول اولیه را با یک مثال ساده توضیح دهیم:

# This is a level 1 heading

## This is a level 2 heading

This is some plain text that forms a paragraph. Add emphasis via **bold** and __bold__, or *italic* and _italic_. 

Paragraphs must be separated by an empty line. 

* Sometimes we want to include lists. 
* Which can be bulleted using asterisks. 

1. Lists can also be numbered. 
2. If we want an ordered list.

[It is possible to include hyperlinks](https://www.example.com)

Inline code uses single backticks: `foo()`, and code blocks use triple backticks: 
```
bar()
``` 
Or can be indented by 4 spaces: 

    foo()
    
And finally, adding images is easy: ![Alt text](https://www.example.com/image.jpg)

 

هنگامی که سلول را اجرا می کنید تا آن را رندر کنید، Markdown اینگونه اجرا می شود:

آموزش ژوپیتر نوت بوک

نکته* :در مثال بالا هیچ تصویری نمایش داده نمی شود ! چرا ؟ چون ما آدرس یک عکس واقعی را در متن خودمون نزاشتیم.

دقت کنید برای قراردادن تصاویر در ژوپیتر نوت بوک 3 روش وجود دارد:

  • از یک URL برای یک تصویر در فضای واقعی اینترنت استفاده کنید.
  • از یک URL محلی برای تصویری که در کنار نوت بوک خود نگهداری می کنید استفاده کنید، مثلاً در همان git repo.
  • از طریق «ویرایش > درج تصویر» یک پیوست اضافه کنید. این تصویر را به یک رشته تبدیل می کند و آن را در فایل ipynb. notebook شما ذخیره می کند. توجه داشته باشید که با این کار فایل ipynb شما بسیار حجیم تر می شود!

در Markdown خیلی قابلیت های جالب بیشتری وجود دارد، به خصوص در مورد هایپرلینک کردن، و همچنین می توان به سادگی HTML را نیز در Markdown  استفاده کرد.

 

هسته ها

پشت هر نوت بوک یک هسته یا Kernel وجود دارد. هنگامی که یک سلول را به عنوان کد اجرا می کنید، آن کد در هسته نرم افزار اجرا می شود. هر خروجی برای نمایش به سلول بازگردانده می شود. وضعیت هسته در طول زمان و بین سلول‌ها باقی می‌ماند – این به کل سند مربوط می‌شود و نه سلول‌های جداگانه.

به عنوان مثال، اگر کتابخانه ای را وارد کنید یا متغیرها را در یک سلول اعلام کند، آن کتابخانه در سلول دیگر نیز در دسترس خواهد بود. به صورت مثال:

یک سلول ایجاد کنید و کد زیر را درون آن قرار دهید:

این کد مربوط به کتابخانه Numpy می باشد.

import numpy as np
def square(x):
    return x * x

وقتی سلول بالا را اجرا کردیم، می‌توانیم از np و تابع Square در هر سلول دیگری استفاده کنیم.

x = np.random.randint(1, 10)
y = square(x)
print('%d squared is %d' % (x, y))

جواب:

1 squared is 1

این عمل بدون در نظر گرفتن ترتیب سلول های نوت بوک شما کار خواهد کرد. تا زمانی که یک سلول اجرا شده باشد، هر متغیری که اعلام کرده‌اید یا کتابخانه‌هایی که وارد کرده‌اید در سلول‌های دیگر نیز در دسترس خواهند بود.

در بیشتر مواقع زمانی که یک نوت بوک ایجاد می کنید، تربیت عملیات ها از بالا به پایین خواهد بود. اما بازگشت برای ایجاد تغییرات معمول است. هنگامی که ما نیاز به ایجاد تغییراتی در سلول قبلی داریم، ترتیب اجرای که می‌توانیم در سمت چپ هر سلول ببینیم، مانند In [6]، می‌تواند به ما کمک کند تا با دیدن اینکه سلول‌ها به چه ترتیبی اجرا شده‌اند، مشکلات نرم افزاری را تشخیص دهیم.

 

اما اگر بخواهیم تنظیمات خود، کتابخانه ها، متغییر ها را به حالت اولیه برگردانیم، چندین گزینه مفید از منو کرنل وجود دارد:

  • Restart: هسته را مجدداً راه اندازی می کند، بنابراین تمام متغیرهای تعریف شده و غیره را پاک می کند.
  • Restart & Clear Output: همانند بالا، اما خروجی نمایش داده شده در زیر سلول های کد شما را نیز پاک می کند.
  • Restart & Run All: مانند بالا اما تمام سلول های شما را نیز به ترتیب از اول تا آخر اجرا می کند.

اگر هسته شما روی یک محاسبات گیر کرده است و می خواهید آن را متوقف کنید، می توانید گزینه Interrupt را انتخاب کنید.

 

انتخاب هسته

شاید متوجه شده باشید که Jupyter به شما امکان تغییر هسته برنامه نویسی را می دهد و در واقع گزینه های مختلفی برای انتخاب هسته وجود دارد. زمانی که با انتخاب نسخه پایتون یک نوت بوک جدید از داشبورد ایجاد می کردید، در واقع انتخاب می کردید که از کدام هسته استفاده کنید.

هسته هایی برای نسخه های مختلف پایتون و همچنین برای بیش از 100 زبان از جمله جاوا، سی و حتی فرترن وجود دارد. دانشمندان داده ممکن است به‌خصوص به هسته‌های R و Julia و همچنین هسته‌های imatlab و Calysto MATLAB برای Matlab علاقه‌مند باشند و بخواهند از آن استفاده کنند.

هسته SoS پشتیبانی چند زبانه را در یک نوت بوک فراهم می کند.

هر هسته دستورالعمل‌های نصب مخصوص به خود را دارد، اما احتمالاً از شما می‌خواهد که برخی از دستورات را در رایانه خود اجرا کنید.

 

نام گذاری نوت بوک

قبل از شروع نوشتن هر پروژه، باید نامی معنی دار برای آن بگذارید. نام فایل Untitled در سمت چپ بالای صفحه برای وارد کردن نام فایل جدید، و روی نماد ذخیره (که شبیه فلاپی دیسک است) در زیر آن است کلیک کنید تا ذخیره شود.

توجه داشته باشید که بستن برگه نوت بوک در مرورگر، نوت بوک شما را به همان صورتی که یک سند در یک برنامه سنتی بسته می شود، نمی بندد. هسته نوت‌بوک در پس‌زمینه به کار خود ادامه می‌دهد و قبل از اینکه واقعاً «بسته شود» باید خاموش شود، این مورد زمانی مفید که صفحه ژوپیتر نوت بوک خود را به صورت اتفاقی می بندید.

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

ساده ترین راه برای انجام این کار این است که از منو فایل “File > Close and Halt” را انتخاب کنید. با این حال، می‌توانید با رفتن به «Kernel > Shutdown» از داخل برنامه نوت‌بوک یا با انتخاب نوت‌بوک در داشبورد و کلیک کردن بر روی «Shutdown»، هسته را خاموش کنید (مانند تصویر).

آموزش ژوپیتر

آموزش ژوپیتر نوت بوک

 

به اشتراک گذاری نوت بوک

وقتی مردم در مورد اشتراک‌گذاری نوت‌بوک‌هایشان صحبت می‌کنند، معمولاً دو پارادایم وجود دارد که ممکن است در نظر داشته باشند.

اغلب، افراد نتیجه نهایی کار خود را به اشتراک می گذارند، مثل این مقاله، به معنای به اشتراک گذاری نسخه های غیر تعاملی و از پیش رندر شده نوت بوک های خود است. با این حال، امکان همکاری در نوت‌بوک‌ها با کمک سیستم‌های کنترل نسخه یا ورژن مانند Git یا پلتفرم‌های آنلاین مانند Google Colab نیز وجود دارد.

 

GitHub

در سایت 2018 تعداد ژوپیتر نوت بوک های وبسایت گیت هاب از مرز 1.8 میلیون نوت بوک گذر کرد، و بعد از آن گیت هاب جز محوب ترین پلت فرم های اشتراک گذاری پروژه های ژوپیتر شناخته شد.

GitHub پشتیبانی یکپارچه ای برای رندر کردن فایل های ipynb. به طور مستقیم هم در مخزن ها و هم در gists در وب سایت خود ارائه کرده است.

 

اشتراک گذاری نوت بوک ها در گیت هاب

  • ابتدا باید در وبسایت گیت هاب وارد شوید(login کنید ) و به gist.github.com بروید.
  • فایل ipynb. خود را در یک ویرایشگر متن(مثل SublimeText) باز کنید، همه محتوای آن را انتخاب کنید و JSON داخل آن را کپی کنید.
  • به Gist خود یک نام فایل بدهید، به یادتان باشد که فرمت .iypnb را به فایل مورد نظر اضافه کنید وگرنه کار نخواهد کرد.
  • روی «Create Secret gist» یا «Create public gist» کلیک کنید و تمام.
آموزش ژوپیتر

آموزش ژوپیتر نوت بوک

اگر یک Gist عمومی یا Public ایجاد کنید، اکنون می‌توانید آدرس یا URL آن را با هرکسی که دوست دارید به اشتراک بگذارید و دیگران می‌توانند کار شما را فورک و کلون کنند.

یک نکته اضافی برای کسانی که از git استفاده می کنند این است که برای آن دسته از فهرست های پنهان .ipynb_checkpoints که Jupyter ایجاد می کند، یک استثنا به gitignore وجود دارد.

 

Nbviewer چیست ؟

NBViewer یک مرجع آنلاین اشتراک گذاری نوت بوک ژوپیتر است. که تا سال 2015 هر هفته صدها هزار نوت بوک را رندر می کرد، محبوب ترین رندر نوت بوک در وب است. اگر چه از قبل جایی برای آپلود آنلاین نوت بوک های Jupyter خود دارید، چه GitHub یا حالا هر جای دیگر، NBViewer نوت بوک شما را رندر می کند و یک URL یا آدرس قابل اشتراک گذاری به شما ارائه می کند. به عنوان یک سرویس رایگان به عنوان بخشی از پروژه Jupyter ارائه شد.

با استفاده از این لینک می توانید به صورت رایگان و بدون نصب نرم افزار ژوپیتر نوت بوک یک نوت بوک برای خود راه اندازی کنید.

آدرس :

nbviewer.jupyter.org

 

نشانی اینترنتی که NBViewer هنگام نمایش یک نوت بوک نشان می دهد، بر اساس URL نوت بوکی که در حال ارائه آن است، ثابت است، بنابراین می توانید آن را با هرکسی به اشتراک بگذارید و تا زمانی که فایل های اصلی آنلاین باقی بمانند، کار می کند – NBViewer فایل ها را برای مدت زیادی کش نمی کند.

اگر رابط کاربری NBViewer رو دوست ندارید سایت های دیگر هم هستند:

 

افزونه های نوت بوک ژوپیتر چیست؟

ویژگی های اضافی که عملکرد نوت بوک های Jupyter را بهتر می کند.

 

به عنوان مثال، یک برنامه افزودنی به نام «Table of Contents» فهرستی از محتویات را برای نوت بوک شما ایجاد می کند تا تجسم و حرکت در نوت بوک های بزرگ را آسان تر کند.

یکی دیگر به نام Variable Inspector، مقدار، نوع، اندازه و شکل هر متغیر در نوت بوک شما را برای ارجاع سریع و اشکال زدایی آسان به شما نشان می دهد.

دیگری به نام ExecuteTime به شما امکان می‌دهد بدانید هر سلول چه زمانی و برای چه مدت اجرا می‌شود – اگر بخواهید سرعت بخشی از کد خود را افزایش دهید، میشه بسیار زیاد در مبحث توسعه از این موضوع استفاده کرد.

 

از کجا می توانید برنامه های افزودنی دریافت کنید؟

برای دریافت برنامه های افزودنی، باید Nbextension ها را نصب کنید. می توانید این کار را با استفاده از pip و خط فرمان انجام دهید. اگر آناکوندا دارید، بهتر است این کار را از طریق Anaconda Prompt انجام دهید تا خط فرمان معمولی.

Jupyter Notebooks را ببندید، Anaconda Prompt را باز کنید و دستور زیر را اجرا کنید:

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install

هنگامی که این کار را انجام دادید، یک نوت بوک را راه اندازی کنید و باید یک تب Nbextensions را ببینید. با کلیک بر روی این برگه لیستی از افزونه های موجود را به شما نشان می دهد. به سادگی کادرهای افزونه‌هایی را که می‌خواهید فعال کنید علامت بزنید.

 

دستورات جادویی ژوپیتر نوت بوک

زمانی که از %matplotlib درون خطی برای رندر کردن نمودارهای Matplotlib در نوت بوک خود استفاده کردیم، دستورات جادویی را قبلاً ذکر کردیم. جادوهای بسیار دیگری نیز وجود دارد که می توانیم از آنها استفاده کنیم.

جادوها مخصوص هسته IPython هستند و توسط آن ارائه می شوند. اینکه آیا Magic در یک هسته در دسترس است یا خیر، تصمیمی است که توسط توسعه‌دهنده کرنل بر اساس هر هسته گرفته می‌شود. برای درست کار کردن، Magic باید از عنصر نحوی استفاده کند که در زبان اصلی معتبر نیست.

دستورات جادویی در ژوپیتر نوت بوک دستوراتی هستند که به با علامت % شروع می شوند معمولا این دستورات برای راحتی کار برنامه نویسی در نظر گرفته شده است تا سلسله ای از دستورات را به صورت خود کار برای نرم افزار خود استفاده کنید به صورت مثلا شاید شما یک برنامه نوشته باشید که و بخواهید زمان دقیق شروع نرم افزار خود و پایان نرم افزار خود را پیگیری کنید برای انجام این کار نیاز دارید از کتاب خانه های مختلف استفاده کنید اما یک راه میانبر هم وجود دارد آن این است که از دستور جادویی %%time در ژوپیتر نوت بوک خود استفاده کنید.

نکته*: دستورات جادویی بر اساس هسته هر نرم افزار متفاوت از دیگر هسته هاست در نتجیه قبل از استفاده از دستورات جادویی دایکومنت یا همان مقاله راهنمای هسته مورد استفاده از نرم افزار ژوپیتر نوت بوک خود را حتما بخوانید.

 

نحوه استفاده از دستورات جادویی

یک نوت بوک Jupyter را باز کنید، %lsmagic را در یک سلول تایپ کنید و سلول را اجرا کنید. با این کار لیستی از دستورات جادوهایی برای شما به نمایش در می آید. همچنین در آخر دستورات زیر با یک پیغام مشابه پیغام زیر روبه رو می شوید:

Automagic is ON, % prefix IS NOT needed for line magics.

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

آموزش ژوپیتر نوت بوک

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

در حال کلی دستورات جادویی به 2 صورت عمل می کنند:

  • یا یک دستور جادویی بر روی 1 خط از 1 سلول عمل می کند
  • یا یک دستور جادویی بر روی کل سلول یک عملیات انجام می دهد.

بسیاری از دستورات جادویی نیاز به ورودی های اضافی دارند (مانند یک تابع  که به آرگومان به نیاز دارد) تا به آنها بگوید چگونه کار کنند. ما به یک مثال:

%matplotlib?

هنگامی که سلول فوق را در یک نوت بوک اجرا می کنید، یک رشته مستند طولانی با جزئیات در مورد نحوه استفاده از دستور جادویی روی صفحه نمایشگر ظاهر می کند.

 

مهم ترین دستورات جادویی

  • %run: آدرس یک فایل را به صورت ورودی گرفته و برای شما یک فایل خارجی را اجرا می کند.
  • %timeit :حلقه ها را می شمارد، اندازه گیری می کند و گزارش می دهد که یک سلول کد چن ثانیه طول می کشد تا اجرا شود.
  • %writefile : محتویات یک سلول را در یک فایل ذخیره کنید.
  • %store : یک متغیر را برای استفاده در یک نوت بوک دیگر ذخیره کنید.
  • %pwd : مسیر دایرکتوری را که در حال حاضر در آن کار می کنید چاپ کنید.
  • %%javascript : سلول را به صورت کد جاوا اسکریپت اجرا می کند.

 

جمع بندی نهایی

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

در ای مقاله یاگرفتیم چگونه این نرم افزار را نصب کنیم، افزونه های مورد نیاز آن چیست، چه کاربرد هایی دارد، نحوه اشتراک گذاری آن به چه صورت است و ما همه این موارد را با استفاده از تنها خود ژوپیتر نوت بوک انجام دادیم.

اگر می خواهیم بیشتر در مورد ژوپیتر نوت بوک ها یادبگیری هشتگ ژوپیتر (Jupyter Notebook) را در قسمت مقالات وبسایت پایتونی ها دنبال کنید.

 

دانلود باکس

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2