ipython
magics
खोज…
परिचय
आइपीथॉन ने जादूगरों नामक एक आदेश के साथ अजगर का विस्तार किया। ये विशेष कार्य हैं जिनके नाम एक %
शुरू होते हैं जिन्हें IPython शेल द्वारा मान्यता प्राप्त है। Magics जिसका नाम सिर्फ एक साथ शुरू होता है %
तर्क के रूप में ले लाइन के बाकी और लाइन magics कहा जाता है। डबल प्रतिशत साइन %%
शुरू होने वाले मैजिक एक बहु-पंक्ति तर्क लेते हैं और सेल मैजिक कहलाते हैं।
% समय और `% समय` जादूगर
%timeit
मैजिक कई बार दिए गए कोड को चलाता है, फिर सबसे तेज परिणाम की गति देता है।
In [1]: %timeit sum(range(100000))
100 loops, best of 3: 2.91 ms per loop
%%timeit
सेल मैजिक का उपयोग कोड के टाइम ब्लॉक में किया जा सकता है।
In [2]: %%timeit
...: a = 0
...: for i in range(100000):
...: a += i
...:
100 loops, best of 3: 9.67 ms per loop
यूनिक्स time
कमांड के समान एक फ़ंक्शन का %time
जादू बार। विपरीत %timeit
, %time
भी परिणाम को दर्शाता है।
In [3]: %time sum(range(100000))
CPU times: user 2.68 ms, sys: 3 µs, total: 2.68 ms
Wall time: 2.69 ms
Out[3]: 4999950000
बिल्ट-इन लाइन और सेल मैजिक्स
Magics जिसका नाम सिर्फ एक साथ शुरू होता है %
तर्क के रूप में ले लाइन के बाकी और लाइन magics कहा जाता है। डबल प्रतिशत साइन %%
शुरू होने वाले मैजिक एक बहु-पंक्ति तर्क लेते हैं और सेल मैजिक कहलाते हैं।
कोड के एक टुकड़े के निष्पादन समय को मापने के लिए, आमतौर पर इस्तेमाल किया जाने वाला जादू %timeit
timeit.timeit
, पायथन के timeit.timeit
फ़ंक्शन के आसपास एक आवरण होता है।
In [35]: ra = [random.randint(0,1000) for r in range(1000)]
In [35]: %timeit sorted(ra)
1000 loops, best of 3: 507 µs per loop
सेल मैजिक का उदाहरण इनपुट कोड को बैश कोड के रूप में चलाने के लिए %%bash
( %%script bash
बराबर) है
In [49]: %%bash
...: i=3
...: while [ $i -ge 0 ]
...: do
...: echo $i
...: i=$(($i-1))
...: done
...:
3
2
1
0
ध्यान दें कि सेल का अंत एक खाली रेखा द्वारा चिह्नित है।
सभी अंतर्निहित जादूगरों को देखने के लिए %lsmagic
उपयोग करें
In [51]: %lsmagic
Out[51]:
Available line magics:
%alias %alias_magic %autocall %autoindent %automagic %bookmark %cd %cls
%colors %config %copy %cpaste %ddir %debug %dhist %dirs %doctest_mode
%echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %load
%load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic
%macro %magic %matplotlib %mkdir %notebook %page %paste %pastebin %pdb
%pdef %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %profile
%prun %psearch %psource %pushd %pwd %pycat %pylab %quickref %recall
%rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run
%save %sc %set_env %store %sx %system %tb %time %timeit %unalias
%unload_ext %who %who_ls %whos %xdel %xmode
Available cell magics:
%%! %%HTML %%SVG %%bash %%capture %%cmd %%debug %%file %%html
%%javascript %%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3
%%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile
Automagic is ON, % prefix IS NOT needed for line magics.
ध्यान दें कि डिफ़ॉल्ट रूप से 'ऑटोमैजिक' चालू है, और इसलिए लाइन मैजिक्स को बिना %
उपसर्ग के कहा जा सकता है (लेकिन सेल फ़ंक्शंस को अभी भी %%
उपसर्ग की आवश्यकता है)।