آشنایی با آناکوندا و محیط ژوپیتر نوت بوک

کار با برنامه Anaconda

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

آناکوندا در پایتون

بر خلاف IDE های دیگر نوت بوک محیط برنامه نویسی خاصی را برای شما فراهم می کند، که تنها بر پایهی متن نیست. اگر بخواهیم یک فایل نوت بوک با پسوند IPython را باز کنیم (ipynb . پسوند فایلهای ژوپیتر نوت بوک است)؛ چیزی که پیدا می کنید به نوعی قابل خواندن است ولی قابل استفاده نیست. برای بدست آوردن ویژگی های خاصی که نوت بوک فراهم می کند؛ فایل باید دربرگیرنده اطلاعات اضافی باشد که در یک فایل متنی معمولی وجود ندارد. بنابراین می دانیم باید فایل ها را دانلود کنید تا بتوانیم از آنها استفاده کنیم.

در مقالات آموزش برنامه نویسی پایتون در سایت ناگفته مقاله ایی با نام “استخراج نوت بوک” به شما می گوید چطور می توانید یک نوت بوک را به شکل قابل درک برای نوت بوک استخراج کنید. به هر حال، شاید شما بخواهید این کدهای پایتون
را با پسوندهای دیگری دانلود کنید که بتوانید در سایر برنامههای کد نویسی از آن استفاده کنید. در واقع در منوی فایل، شامل گزینههای دانلود کد شما با فرمت های مختلفی می باشد (File Download). مثل:

  • Python (.py)
  • HTML (.html)
  • Markdown (.md)
  • reST (.rst)
  • LaTeX (.tex)
  • PDF via LaTeX (.pdf)

همه ی قالب ها برای کد همیشه در دسترس نیست. برای مثال اگر می خواهید یک pdf ایجاد کنید از پسوند LaTeX استفاده کنید، شما باید با استفاده از دستورالعمل گفته شده در این سایت https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex
در ابتدا LaTeX را نصب کنید. LaTeX یک موتور مفسر

(rendering)برای ایجاد pdf فراهم می کند.

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


تصویر1 : بعضی از فرمت های خروجی می توانند مستقیما در مرورگر شما باز شوند.

کار با شماره خطوط

در کد نویسی کار با لیست های طولانی سخت خواهد بود یا زمانی که به خط های دیگر کد در کد نویسی نیاز دارید؛ داشتن یک مرجع برای کد مفید خواهد بود. برای حل این مشکل می توانید از شماره گذاری خطوط استفاده کنید. برای نمایش شماره خطها، View Toggle Line Numbers را انتخاب کنید. مشاهده می کنید که شمارههای خطوط به ورودی همهی سلولها اضافه شد؛ همان طور که در تصویر 2 نشان داده شده است. دقت کنید که شماره خط به خروجی ها اضافه نمی شود.

در این مقاله نحوه¬ی کار با برنامه Anaconda

تصویر2: استفاده از شماره خطوط دسترسی به کدها را راحتتر می کند.

استفاده از ویژگی های جعبه ابزار سلول

هر سلول دارای ویژگی های خاص مرتبط با آن است. شما می توانید با اضافه کردن یک دکمه نوار ابزار به سلول از طریق منوی View Cell Toolbar به ویژگی ها آن دسترسی پیدا کنید. همان طور که در تصویر 3 مشاهده می کنید، سلول با دکمه ویرایش متاداده رویت می شود.

کار با برنامه Anaconda، محیط ژوپیتر نوت بوک، کار با شماره خطوط برای دسترسی راحت¬تر، استفاده از جعبه ابزار در سلول

تصویر3: با دکمههای نوار ابزار سلول برای ویرایش محتوای درون سلول می توان استفاده کرد.

متاداده بر نحوه کار سلول اثر می گذارد. تنظیمات پیش فرض هم اعتماد به سلول و هم پیمایش محتوای طولانی نوت بوک را کنترل می کند. برخی از این تنظیمات تنها بر انواع خاصی از سلول ها تاثیر می گذارند. به طور مثال، تنظیمات فرمت اولیه سلول(Raw Cell Format) تنها بر سلولهای اولیه مبدلNB

(Raw NBConvert cells) اثر می گذارد.

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

  • None: همه دکمههای جعبه ابزار سلول را از نوت بوک حذف می کند.
  • Edit Metadata: با استفاده از متاداده سفارشی و استاندارد به سلول اجازه می دهد وظایف سلول را پیکربندی کند.
  • Raw Cell Format: نوعی داده که شامل Raw NTConvert cell می باشد را انتخاب می کند. گزینه های ان شامل None, LaTeX, reST, HTML, Markdown, Python, and Custom است.
  • :Slideshow نوعی اسلاید را معرفی می کند که شامل سلول است. گزینه های آن عبارت اند از Slide, Sub-slide, Fragment, Skip,Notes.
  • Attachments: لیستی از پیوست های سلول فعلی را نمایش می دهد. به طور مثال، شما می توانید تصاویر را به سلولهای علامت گذاری شده اضافه کنید.
  • Tags: برچسب های مرتبط با هر سلول را مدیریت می کند. یک برچسب بخشی از اطلاعات را برای شما فراهم می کند که به شما در درک و طبقه بندی سلول کمک می کند. برچسب ها تنها برای استفاده شما هستند؛ آنها برای نوت بوک معنایی ندارند. وقتی از برچسبها به درستی استفاده می کنید، این امکان را برای شما فراهم می کند که با سلول ها به روش های جدید ارتباط برقرار کنید، اما باید به طور هماهنگی از برچسب ها استفاده کنید تا برچسب ها به درستی کار کنند.
  • برای اطلاعات بیشتر در این زمینه مقالات آموزش برنامه نویسی پایتون در سایت ناگفته
    مراجعه کنید.

ارتباط با کرنل

کرنل (هستهkernel- ) سروری است که به شما امکان می دهد سلول ها را در نوت بوک اجرا کنید. شما به طور نمونه دستورات کرنل را در یک پنجره فرمان یا ترمینال به صورت جداگانه مانند تصویر 4 می بینید.

محیط ژوپیتر نوت بوک، کار با شماره خطوط برای دسترسی راحت¬تر، استفاده از جعبه ابزار در سلول و توابع جادویی شرح داده شد

تصویر4 : کرنل دستورات را پنجره جداگانهایی از نوت بوک ژوپیتر نمایش می دهد.

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

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

  • وقفه (Interrupt): کرنل وظیفهی در حال اجرا را متوقف می کند بدون اینکه کرنل واقعا قطع شود. شما از این گزینه زمانی که می خواهید پردازش یک مجموعه دادهی بزرگ را متوقف کنید؛ می توانید استفاده کنید.
  • راه اندازی مجدد(Restart): کرنل ها را متوقف و دوباره از اول شروع می کند. این گزینه باعث می شود تمام دادهای متغیر را از دست دهید. به هر حال گاهی اوقات ممکن است این عیناً همان کاری باشد که شما هم می خواهید انجام دهید، زمانی که محیط کاری شما از داده های قدیمی و بی استفاده پرشده است.
  • راه اندازی مجدد و پاک کردن خروجی (Restart & Clear Output): کرنل را متوقف و دوباره آن را شروع می کند و تمام خروجی های موجود سلول را نیز پاک می کند.
  • راه اندازی مجدد و اجرای کل (Restart & Run All): کرنل را متوقف و دوباره آن را شروع می کند. سپس اجرای هر سلول را از ابتدای سلول شروع می کند و با اخرین سلول به پایان می رسد. وقتی نوت بوک به پایین می رسد، آخرین سلول را انتخاب می کند اما وارد سلول جدیدی نمی شود.
  • اتصال مجدد (Reconnect): مجددا ارتباط با کرنل را ایجاد می کند. در بعضی موارد، ممکن است مشکلات محیطی یا موارد دیگر باعث از بین رفتن ارتباط برنامه شود، بنابراین شما از این گزینه برای برقراری ارتباط مجدد بدون از دست دادن دادههای متغیر می توانید استفاده کنید.
  • خاموش کردن (Shutdown): کرنل را می بندد. شما می توانید از این مرحله برای آماده سازی استفاده از یک کرنل متفاوت دیگر انجام دهید.
  • تغییر کرنل(Change Kernel): کرنل دیگری را از لیست کرنلهایی که نصب کردهاید؛ انتخاب می کند. به طور مثال، ممکن است بخواهید برنامه ای را با استفاده از نسخه های متفاوت پایتون آزمایش کنید تا اطمینان حاصل کنید که روی همه آنها اجرا می شود.

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

استفاده از توابع جادویی

نوت بوک و نسخه مشابه آن،(آیپایتون) IPython، بعضی از قابلیتهای خاص را در قالب توابع جادویی فراهم می کند. اینکه فکر کنید این برنامه ها برای شما جادو می کنند، شاید از این نوع بیان تعجب کنید اما این دقیقاً همان کاری است که با توابع جادویی در کد نویسی بدست می آورید. جادو در خروجی است. به طور مثال، به جای اینکه خروجی در یک پنجره گرافیکی جداگانه نمایش داده شود،می توانید انتخاب کنید که آن را در سلول نمایش دهد، مثل یک جادو (به این دلیل از اصطلاح جادو استفاده می شود که سلول ها تنها متن را نگه می دارند). یا می توانید از این توابع جادویی برای بررسی کارایی برنامه خود استفاده کنید؛ بدون اینکه نیاز باشد همه کدهای معمول پایتون اضافه شده را بررسی کنید (برای مشاهده کارآمدی برنامه همهی کدها نیاز به بررسی دارند).

یک تابع جادویی با علامت٪ یا ٪٪ شروع می شود. از این علامت٪ در محیط کاری استفاده می شود و علامت ٪٪ در سطح سلول کار می کنند. به طور مثال، اگر می خواهید لیستی از توابع جادویی را بدست آورید، عبارت %lsmagic را در IPythonبنویسید و سپس Enter را در فشار دهید (یا دستور را در نوت بوک اجرا کنید) تا آنها را ببینید ، همانطور که در تصویر 5 می بینید. (دقت کنید که پایتون IPython از ورودی و خروجی یکسانی که نوت بوک استفاده می کند، به کار می گیرد.)

در این مقاله نحوه¬ی کار با برنامه Anaconda، محیط ژوپیتر نوت بوک، تصویر5: عبارت %lsmagicfunction در پایتون
لیستی از توابع جادویی را برای شما نمایش می دهد.

هر تابع جادویی در IPython کار نمی کند. به طور مثال تابع %autosave(ذخیره خودکار) در IPython هیچ کاری انجام نمی دهد، چون هیچ اطلاعاتی را به صورت خودکار ذخیره نمی کند.

در جدول زیر برخی از تابع های جادویی و هدف ان ها آمده است. برای دیدن این لیست در نوت بوک ( یا محیط
IPython) عبارت %quickref را بنویسید و Enter را فشار دهید. یا می توانید لیست کامل را در سایت https://damontallen.github.io/IPython-quick-ref-sheets/. مشاهده کنید. همچنین برای دیدن مقالات بیشتر در زمینه آموزش برنامه نویسی پایتون
به سایت ناگفته
می توانید مراجعه کنید.

توابع جادویی رایج در نوت بوک و IPython

تابع جادویی

تنها نوعی که وضعیت را فراهم می کند؟

توضیحات

%alias

بله

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

autocall%

بله

بدون پرانتز این امکان را برای شما فراهم می کند که توابع را فراخوانی کنید. تنظیمات خاموش، هوشمند (پیش فرض) و کامل است. تنظیمات هوشمند تنها زمانی پرانتز را به کار می برد که شامل آرگومان فراخوانی است.

automagic%

بله

می توانید بدون درج علامت درصد (٪)، توابع جادویی را فراخوانی کنید. تنظیمات False (پیش فرض) و True هستند.

autosave%

بله

فاصله بین ذخیره خودکار نوت بوک را نمایش می دهد یا تصحیح می کند. تنظیمات پیش فرض هر 120 ثانیه است.

cd%

بله

دایرکتوری را به مکان جدید ذخیره تغییر می دهد. همچنین می توانید از این دستور برای انتقال به تاریخچه دایرکتوری یا تغییر دایرکتوریها به یک نشانک استفاده کنید.

cls%

خیر

صفحه نمایش را پاک می کند.

colors%

خیر

رنگهای مشخصی برای نمایش متنهای مرتبط با اعلان، برای اطلاعات سیستم و اداره کنندههای استثنا استفاده می شود. شما می توانید بدون رنگ (NoColor – سیاه و سفید)، لینوکس(پیش فرض) و LightBG را انتخاب کنید

config%

بله

قابلیت پیکربندی IPython

dhist%

بله

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

file%

خیر

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

hist %

بله

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

install_ext%

خیر

پسوند معینی را نصب می کند.

load%

خیر

کد برنامه را از منبع دیگری را بارگیری می کند، مثل یک مثال آنلاین.

load_ext%

خیر

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

lsmagic%

بله

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

magic%

بله

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

matplotlib%

بله

پردازش پیشین را برای استفاده از نمودار تنظیم می کند. با استفاده از مقدار درونی سلول نمودار را در فایل IPython نوت بوک نمایش می دهد. مقادیر ممکن عبارتند از: ‘gtk’, ‘gtk3’, ‘inline’, ‘nbagg’, ‘osx’, ‘qt’, ‘qt4’, ‘qt5’, ‘tk’, and ‘wx’.

paste%

خیر

محتوای کلیپ بورد را به محیط IPython می چسباند.

pdef%

خیر

نشان می دهد چطور یک شی را فراخوانی می کند. (فرض می کنیم که شی قابل فراخوانی است)

pdoc%

خیر

داسترینگ را برای یک شی نمایش می دهد.

pinfo%

خیر

جزئیات اطلاعات درباره یک شی را نمایش می دهد (اغلب بیشتر از یک فقط یک راهنما اطلاعات فراهم می کند.)

Pinfo2%

خیر

اطلاعات بیشتری از یک شی در اختیار ما می گذارد. (اگر در دسترس باشد)

reload_ext%

خیر

پسوندهای اخیر نصب شده را دوباره بارگیری می کند.

source%

خیر

منبع کد را برای شی به نمایش می گذارد. (فرض می کنیم که منبع در دسترس است)

timeit%

خیر

بهترین زمان عملکرد برای یک برنامه را حساب می کند.

timeit%%

خیر

بهترین زمان عملکرد را برای همه دستورالعملهای یک سلول محاسبه می کند، جدا از آنچه که در همان سلول قرار داده شده که یک سلول جادویی است ( بنابراین می تواند یک دستورالعمل اولیه باشد).

unalias%

خیر

نام مستعار ایجاد شده قبلی را از لیست حذف می کند.

unload_ext%

خیر

پسوند مشخص شده را خالی می کند.

writefile%

خیر

محتوای سلول را برای یک فایل مشخص می نویسد.

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


درباره‌ی parvaneh mahmoudi

همچنین ببینید

آموزش پایتون

آموزش مرحله به مرحله پایتون/ قسمت دوم

تعامل برنامه پایتون با سیستم هر برنامه ایی که می نویسید در نهایت با کامپیوتر …

دیدگاهتان را بنویسید