수색…
소개
IPython은 magics 라는 명령 세트로 파이썬을 확장합니다. 이것들은 이름이 IPython 쉘에 의해 인식되는 %
시작하는 특수 함수입니다. 이름이 단지 1 %
시작하는 마법 은 라인의 나머지 부분을 인수로 취하며 라인 매직 이라고 부릅니다. 이중 퍼센트 기호 %%
시작하는 마법 은 여러 줄의 인수를 취하고 셀 마법 이라고 부릅니다.
% timeit과`% time` 마법
%timeit
매직은 주어진 코드를 여러 번 실행 한 다음 가장 빠른 결과의 속도를 반환합니다.
In [1]: %timeit sum(range(100000))
100 loops, best of 3: 2.91 ms per loop
%%timeit
셀 매직은 코드 블럭의 시간을 %%timeit
데 사용할 수 있습니다.
In [2]: %%timeit
...: a = 0
...: for i in range(100000):
...: a += i
...:
100 loops, best of 3: 9.67 ms per loop
%time
마법은 Unix time
명령과 비슷한 함수의 단일 실행을 곱합니다. %timeit
과 달리 %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
붙박이 선 및 세포 마술
이름이 단지 1 %
시작하는 마법 은 라인의 나머지 부분을 인수로 취하며 라인 매직 이라고 부릅니다. 이중 퍼센트 기호 %%
시작하는 마법 은 여러 줄의 인수를 취하고 셀 마법 이라고 부릅니다.
일반적으로 사용되는 마법은 코드 조각의 실행 시간을 측정하기 위해 Python의 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
사용 %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.
기본 '자동으로 자료'으로 설정되어 있습니다, 따라서 마법이없이 호출 할 수 있습니다 줄 %
접두사 (하지만 세포 기능은 여전히 필요 %%
접두사).