آموزش دستورات جادویی در IPython 

3 سال پیش

آموزش دستورات جادویی در IPython 

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش دستورات جادویی در IPython خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

دستورات جادویی یا عملکردهای جادویی یکی از پیشرفتهای مهمی است که IPython در مقایسه با پوسته استاندارد پایتون ارائه می دهد. این دستورات جادویی برای حل مشکلات رایج در تجزیه و تحلیل داده ها با استفاده از پایتون است. در واقع ، آنها رفتار IPython را کنترل می کنند.

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

انواع دستورات جادویی

دو نوع دستور جادویی وجود دارد –

  • Line magics
  • Cell magics

Line Magics

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

Cell magics

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

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

 

Line Magics توکار

%autocall [mode]

 

این عملکرد جادویی باعث می شود عملکردی بدون نیاز به استفاده از پرانتز به طور خودکار فراخوانی شود. این سه پارامتر حالت ممکن را می گیرد: ۰ (خاموش) ، ۱ (هوشمند) به طور پیش فرض یا ۲ (همیشه روشن).

Built-in line Magics

automagic%

توابع جادویی بدون نیاز به تایپ٪ اولیه در صورت تنظیم ۱ ، قابل فراخوانی هستند. بدون استدلال ، روشن / خاموش روشن می شود. برای غیرفعال کردن ، روی ۰ تنظیم کنید.

مثال زیر نشان می دهد که یک تابع جادویی٪ pwd (نمایش دایرکتوری موجود) بدون هدایت٪ وقتی٪ automagic روی ۱ تنظیم می شود

%automagic

cd%

این خط جادویی فهرست فعلی را تغییر می دهد. این دستور به طور خودکار لیست داخلی فهرست هایی را که در طول جلسه IPython خود بازدید می کنید ، در متغیر _dh نگهداری می کند. برای دیدن راحت تاریخچه دایرکتوری می توانید “<cd – <tab” را نیز انجام دهید.

%cd

کاربردهای cd٪

از دستور cd٪ می توان به روش های زیر استفاده کرد –

  • <cd <dir٪ – فهرست کار فعلی را به <dir> تغییر می دهد
  • …cd٪  – دایرکتوری فعلی را به دایرکتوری اصلی تغییر می دهد
  • cd٪ – تغییر در فهرست آخرین بازدید شده.

 dhist٪

این دستور Magic تمام دایرکتوری هایی را که در جلسه فعلی بازدید کرده اید چاپ می کند. هر بار که از دستور٪ cd استفاده می شود ، این لیست در متغیر _dh به روز می شود.

%dhist

edit٪

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

 

 env٪

این دستور جادویی تمام متغیرهای محیط را لیست می کند. همچنین مقدار یک متغیر خاص را می خواند یا مقدار متغیر محیط را تنظیم می کند.

استفاده

از دستور cd٪ می توان به روش های زیر استفاده کرد –

  • env٪ – لیست تمام متغیرهای محیط است
  •  env var٪ – مقدار var را بدست می آورد
  • env var val٪ – مقدار را برای var تنظیم می کند

%env

 gui [GUINAME]٪

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

  •  gui wx٪

یکپارچه سازی حلقه رویداد wxPython را فعال کنید

  • gui qt4 | qt٪

یکپارچه سازی حلقه رویداد PyQt4 را فعال کنید

  • gui qt5٪

یکپارچه سازی حلقه رویداد PyQt5 را فعال کنید

  •  gui gtk٪

PyGTK یکپارچه سازی حلقه رویداد را فعال کنید

  • ٪gui gtk3

یکپارچه سازی حلقه رویداد Gtk3 را فعال کنید

  •  gui tk٪

یکپارچه سازی حلقه رویداد Tk را فعال کنید

  • gui osx٪ 

یکپارچه سازی حلقه رویداد کاکائو را فعال کنید

  •  gui٪

تمام ادغام حلقه رویداد را غیرفعال کنید

lsmagic٪

تمام عملکردهای جادویی موجود را نمایش می دهد

%lsmagic
matplotlib٪

این تابع پشتیبانی تعاملی matplotlib را در طی جلسه IPython فعال می کند. با این حال ، کتابخانه matplotlib را وارد نمی کند. جعبه ابزار پیش فرض GUI matplotlib TkAgg است. اما شما می توانید به صراحت باطن گرافیکی متفاوتی را درخواست کنید. همانطور که نشان داده شده می توانید لیستی از باطن های موجود را مشاهده کنید –

In [4]: %matplotlib --list
Available matplotlib backends: 
['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']

 

جلسه IPython که در اینجا نشان داده شده است با استفاده از جعبه ابزار qt موج سینوسی را ترسیم می کند –

%matplotlib
در حالی که از نوت بوک Jupyter استفاده می کنید ،٪ matplotlib inline directive خروجی طرح را فقط در مرورگر نمایش می دهد.

notebook%

این تابع تاریخچه فعلی IPython را به یک پرونده نوت بوک IPython با پسوند ipynb تبدیل می کند. سلول های ورودی در مثال قبلی به عنوان sine.ipynb ذخیره می شوند

%notebook sine.ipynb

 

pinfo٪ 

این تابع شبیه به درون نگری شی است؟  برای به دست آوردن اطلاعات در مورد یک شی، از دستور زیر استفاده کنید –

%pinfo object

 

 

 

precision٪

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

%precision
pwd٪ 

این تابع جادویی دایرکتوری موجود را برمی گرداند.

%pwd
pylab٪ 

این تابع جلسه IPython فعلی را با کتابخانه های matplotlib و numpy پر می کند.

%pylab

recall%

این تابع وقتی بدون پارامتر اجرا شود ، دستور قبلی را اجرا می کند.

توجه داشته باشید که در٪ فراخوانی n ، شماره مقابل آن عدد سلول ورودی است. از این رو دستور در سلول n به یاد می آید. با استفاده از فرمانی مانند٪ recall 1-4 می توانید دستورات مربوط به بخش سلول ها را فراخوانی کنید. سلول ورودی فعلی با سلول فراخوانی شده جمع شده و نشانگر چشمک می زند تا زمانی که کلید enter فشار داده شود.

%recall

run%

این دستور از داخل پوسته IPython یک اسکریپت پایتون را اجرا می کند.

%run
time٪

این دستور زمان مورد نیاز محیط IPython برای اجرای عبارت Python را نشان می دهد.

%time

timeit٪ 

این تابع همچنین زمان مورد نیاز محیط IPython برای اجرای عبارت Python را نشان می دهد. اجرای زمان یک عبارت یا عبارت Python از ماژول timeit استفاده می کند. همانطور که در اینجا توضیح داده شده می توان از این عملکرد به عنوان یک خط و جادوی سلول استفاده کرد –

در حالت خط می توانید یک خط را زمان بندی کنید.

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

who%

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

%who

منبع.

لیست جلسات قبل آموزش برنامه نویسی ژوپیتر

  1. آموزش برنامه نویسی ژوپیتر
  2. آموزش مقدمه برنامه نویسی ژوپیتر
  3.  آموزش نصب IPython
  4. آموزش شروع کار با IPython 
  5. اجرا و ویرایش اسکریپت پایتون در IPython
  6. آموزش تاریخچه دستورات در IPython 
  7. آموزش دستورات سیستم در IPython
  8. آموزش گزینه های خط فرمان در IPython 
  9. آموزش بررسی دقیق اشیا در IPython 
  10. آموزش ذخیره سازی ورودی و خروجی در IPython 
  11. آموزش تنظیم IPython به عنوان پیش فرض Python Environment
  12. آموزش وارد کردن کد پایتون شل در IPython
  13. آموزش embed کردن IPython
  14. آموزش دستورات جادویی در IPython 
  15.  بررسی اجمالی برنامه نویسی ژوپیتر 
  16. مقدمه نوت بوک ژوپیتر
  17. آموزش کار با ژوپیتر آنلاین
  18. آموزش نصب و شروع به کار با نوت بوک ژوپیتر
  19. آموزش داشبورد در نوت بوک ژوپیتر
  20. آموزش رابط کاربری در نوت بوک ژوپیتر
  21. آموزش انواع سلول ها در نوت بوک ژوپیتر
  22. آموزش ویرایش در نوت بوک ژوپیتر
  23. آموزش سلول های Markdown در نوت بوک ژوپیتر
  24. آموزش توابع جادویی سلول در نوت بوک ژوپیتر
  25. آموزش رسم نمودار در نوت بوک ژوپیتر
  26. آموزش تبدیل نوت بوک ها در ژوپیتر
  27. آموزش IPyWidgets در نوت بوک ژوپیتر
  28. آموزش ژوپیتر QtConsole 
  29. آموزش ویرایش چند خطی در ژوپیتر QtConsole 
  30. آموزش گرافیک درون خطی در Jupyter QtConsole 
  31. آموزش ذخیره در HTML در ژوپیتر QtConsole 
  32. آموزش کنسول در ژوپیتر QtConsole
  33. آموزش اتصال به نوت بوک ژوپیتر
  34. آموزش استفاده از github و nbviewer در برنامه نویسی ژوپیتر
  35.  بررسی اجمالی JupyterLab 
  36. آموزش نصب و شروع به کار JupyterLab
  37. آموزش رابط در JupyterLab 
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه