Ipython: рдЯрд░реНрдорд┐рдирд▓ ipython рдФрд░ ipython рдХрдВрд╕реЛрд▓ рдореЗрдВ рдорд▓реНрдЯреАрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рдЖрд░рдВрдн рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдЕрдХреНрддреВре░ 2012  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ipython/ipython

qtconsole ( ctrl-enter рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдореЗрдВ, рдФрд░ рдиреЛрдЯрдмреБрдХ рдореЗрдВ (рд╕реЗрд▓ рдХреЗ рднреАрддрд░ рдХреЗрд╡рд▓ enter рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рдЖрдк рдХрд┐рд╕реА рднреА рдПрдХ рд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рдХреЛ рдорд▓реНрдЯреАрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЯрд░реНрдорд┐рдирд▓ рдФрд░ рдХрдВрд╕реЛрд▓ рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдЗрдирдкреБрдЯ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП if 1: рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЬреЛ рддрдм рд╕рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдорд▓реНрдЯреАрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред

рдЖрдо рддреМрд░ рдкрд░, рдЬрд╣рд╛рдВ рд╕рдВрднрд╡ рд╣реЛ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдореЗрдВ рдлреАрдЪрд░ рд╕рдорд╛рдирддрд╛ рд╣реЛрдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг: рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ ctrl-enter рджрдмрд╛рдХрд░ qtconsole рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдирдкреБрдЯ рджрд░реНрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

In [2]: print "hello"
   ...: print "this is all one input"
   ...: print "same here..."
   ...: 

рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЙрд╕ рд▓рд╛рдЗрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдЯрд░реНрдорд┐рдирд▓ рдЖрдзрд╛рд░рд┐рдд рдЖрдИрдкреАрдереЙрди рдХреНрд▓рд╛рдЗрдВрдЯ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдКрдкрд░ рддреАрд░ рджрдмрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЙрдЪрд┐рдд рд╕рдВрдХреЗрдд рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

In [1]: print "hello"
print "this is all one input"
print "same here..."

рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдФрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдЙрд╕ рддрд░рд╣ рдПрдХ рдлреНрд░реАрдлреЙрд░реНрдо рдорд▓реНрдЯреАрд▓рд╛рдЗрди рдЗрдирдкреБрдЯ рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдПрдХ рдЕрдЬреАрдм рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрдирд╛рддрд╛ рд╣реИред

рдЗрд╕реЗ рдореЗрд░реЗ рдзреНрдпрд╛рди рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП @michaelpacer рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

ctrl+o рджрдмрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ (cmd рдФрд░ рдХреЙрдирдореВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ)ред

( . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ

 In [84]: (
     ...: fig, ax = plt.subplots(1,2)
     ...: ax[0].plot([1,2,3])
     ...: ax[1].plot([3,2,1])
     ...: fig.show()
     ...:

рдЬрдм рдЖрдк рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреВрд░реА рдХрд░ рд▓реЗрдВ, рддреЛ рдмрд╕ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВ рдФрд░ ( рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдЯрд░реНрдорд┐рдирд▓/рд░реАрдбрд▓рд╛рдЗрди рдХреА рдмрд╛рдзрд╛рдУрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреМрдбрд╝рддреЗ рд╣реИрдВред рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, ctrl-enter рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рд╣рдо рдХреЗрд╡рд▓ raw_input() рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Ctrl-D рдпрд╛ Ctrl-C рджрдмрд╛рддрд╛ рд╣реИ рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рд░реАрдбрд▓рд╛рдЗрди рдХреЗ рдмрдЬрд╛рдп pyrepl рдЬреИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХреБрдЫ рд╕рдордп рд╕реЗ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдЗрд╕рдХреА рдмрд╛рд░реАрдХреА рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╢рд╛рдк рдпрд╛ рдпреВрд░рд╡рд┐рдб рдЬреИрд╕реЗ рд╕рдорд╛рди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рдлреНрд░рдВрдЯрдПрдВрдб рдмрдирд╛рдпрд╛ рдЬрд╛рдПред

рдПрдХ рдЪреАрдЬ рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд╣ рд╣реИ ctrl-v, ctrl-j рдХреЛ рдмрд┐рдирд╛ рдЗрдирдкреБрдЯ рдЪрд▓рд╛рдП рдПрдХ рдирдИ рд▓рд╛рдЗрди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмреИрд╢ рдХрд╛ рд╣реА рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (ctrl-v рдЕрдЧрд▓реЗ рд╣реЙрдЯрдХреА рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ рдФрд░ ctrl-j рдиреНрдпреВрд▓рд╛рдЗрди рд╣реИ)ред рдореБрдЭреЗ рдЗрд╕ рдкрд░ iTerm2 рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ ctrl-enter рдХреЛ рдЙрд╕ рдбрдмрд▓-рд╕реАрдХреНрд╡реЗрдВрд╕ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдореИрдк рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХрдо рд╕реЗ рдХрдо iTerm2 рдореЗрдВ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдиреА рд╡реИрд╢реНрд╡рд┐рдХ рд╢реЙрд░реНрдЯрдХрдЯ рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ ctrl-enter рдХреЛ "рд╣реЗрдХреНрд╕ рдХреЛрдб рднреЗрдЬреЗрдВ" рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░: 0x16 0x0a

рдХреНрдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрдм prompt_toolkit рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

рд╣рд╛рдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдВрдЯрд░ рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ - рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдВрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдХреЙрдореНрдмреЛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдВрдЯрд░ рдХреЗ рд╕рд╛рде рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ Alt-Enter (рдпрд╛ Esc, Enter ), рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдпрд╛рдиреА рдПрдХ рдирдИ рд▓рд╛рдЗрди рди рдЬреЛрдбрд╝реЗрдВ)ред рд╣рдо рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ - рдпрд╛ рдЖрдк рдПрдХ рдХрд╕реНрдЯрдо рд╢реЙрд░реНрдЯрдХрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╡рд░реНрддрдорд╛рди IPython рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк F2 рджрдмрд╛рдПрдВ, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдЧрд╛, рдФрд░ рдЬрдм рдЖрдк рдХрд░ рд▓реЗрдВрдЧреЗ рддреЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрдкрдХреЗ рдЗрдирдкреБрдЯ рдореЗрдВ рдбрд╛рд▓ рджреЗрдВрдЧреЗред рдЖрдк $EDITOR рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреМрди рд╕рд╛ рд╕рдВрдкрд╛рджрдХ рдЦреБрд▓рддрд╛ рд╣реИред

рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ Alt-Enter ipython рд╡рд┐рдВрдбреЛ рдХреЛ рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред

рдирд╡реАрдирддрдо ipython рдФрд░ рдкреНрд░реЙрдореНрдкреНрдЯ_рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ vi-mode рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдиреА рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ ESC рджрдмрд╛рдПрдВ, рдлрд┐рд░ o рджрдмрд╛рдПрдВред рдпрд╣ vi рдХреА рддрд░рд╣ рд╣реА рдПрдХ рдирдИ рд▓рд╛рдЗрди рдмрдирд╛рдПрдЧрд╛ред

рдЗрд╕ рддрд░рд╣ рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд▓реНрдЯреАрд▓рд╛рдЗрди рдХрдорд╛рдВрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

In [29] : %reset -s #----> press `ESC` then `o`
            %run foo.py

рд╕рдВрджрд░реНрдн

  1. ipython рдореЗрдВ Vi рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рдирд╛: http://koo.fi/blog/2016/08/04/enable-vi-editing-mode-in-ipython-5/

рдмрд╕ рдЗрд╕реА рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реВрдБ ctrl-enter рдПрдХ рдирдИ рд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ!?! рд▓реЗрдХрд┐рди рдпрд╣ рдореБрджреНрджрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдЧрд╛ рдХрд┐ рдореИрдВ рдЧрд▓рдд рд╣реВрдБ :(

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЛ рд░реЗрдЦрд╛ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЬреИрд╕реЗ

%run slow_script.py; !display_notification.sh

рдореЗрд░реА рдкрд╛рдпрдерди рд▓рд┐рдкрд┐ рдЪрд▓рд╛рдПрдЧрд╛, рдлрд┐рд░ рдХреБрдЫ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ : рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реИ

рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ;

cv2.imshow ('рдЫрд╡рд┐', рдЖрдИрдПрдо);
cv2.waitKey(0) ;
cv2.destroyAllWindows ()

ctrl+o рджрдмрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ (cmd рдФрд░ рдХреЙрдирдореВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ)ред

( . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ

 In [84]: (
     ...: fig, ax = plt.subplots(1,2)
     ...: ax[0].plot([1,2,3])
     ...: ax[1].plot([3,2,1])
     ...: fig.show()
     ...:

рдЬрдм рдЖрдк рдЯрд╛рдЗрдкрд┐рдВрдЧ рдкреВрд░реА рдХрд░ рд▓реЗрдВ, рддреЛ рдмрд╕ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрд░ рд╡рд╛рдкрд╕ рдЖрдПрдВ рдФрд░ ( рдХреЛ рд╣рдЯрд╛ рджреЗрдВред

рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ;

cv2.imshow ('рдЫрд╡рд┐', рдЖрдИрдПрдо);
cv2.waitKey(0) ;
cv2.destroyAllWindows ()

рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдЬрдЧрд░ рдФрд░ рдЬрд╛рджреВ рдХреЛ рдорд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

In [5]: %run test.py ;\
   ...: !echo foo

hi

ctrl+o рджрдмрд╛рдиреЗ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ (cmd рдФрд░ рдХреЙрдирдореВ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ)ред

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ alt+o рд╣реИред

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ ctrl+o . рд╣реИ

Ctrl+o рдореЗрд░реЗ рд▓рд┐рдП ipython рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди jupyter console рдореЗрдВ рдирд╣реАрдВред

Ctrl+O рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

gregcaporaso picture gregcaporaso  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lewisacidic picture lewisacidic  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

frenzymadness picture frenzymadness  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

quchunguang picture quchunguang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zhao-ji picture zhao-ji  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ