खोज…


परिचय

आइपीथॉन ने जादूगरों नामक एक आदेश के साथ अजगर का विस्तार किया। ये विशेष कार्य हैं जिनके नाम एक % शुरू होते हैं जिन्हें 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.

ध्यान दें कि डिफ़ॉल्ट रूप से 'ऑटोमैजिक' चालू है, और इसलिए लाइन मैजिक्स को बिना % उपसर्ग के कहा जा सकता है (लेकिन सेल फ़ंक्शंस को अभी भी %% उपसर्ग की आवश्यकता है)।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow