IPython рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧ

рдпрд╣ рдЙрдкрдХрд░рдг рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИред
рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдСрдЯреЛ-рдкреВрд░реНрдгрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЯрд░реНрдорд┐рдирд▓ 2014 рдЕрдЬрдЧрд░ 2014 125ред 0рдЫрд╡рд┐

рд▓реЗрдЦ рд╡реНрдпрд╛рдкрдХ, рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╕реБрдВрджрд░ рдкреНрд░рд▓реЗрдЦрди ipython.github.com/ipython-doc/dev/interactive/index.html рдХреЗ рдЕрдВрд╢реЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдкрд╖реНрдЯ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдФрд░ рдХреЙрд▓ рдХреЗ рдмреАрдЪ рд╕рдВрдЧреНрд░рд╣реАрдд рдЯреАрдореЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред


рдСрдмреНрдЬреЗрдХреНрдЯ рдЕрд╡рд▓реЛрдХрди


In [1]: import datetime
In [2]: datetime?
Type: module
Base Class: <type 'module'>
String Form: <module 'datetime' from '/usr/local/Cellar/python/2.7.1/lib/python2.7/lib-dynload/datetime.so'>
Namespace: Interactive
File: /usr/local/Cellar/python/2.7.1/lib/python2.7/lib-dynload/datetime.so
Docstring:
Fast implementation of the datetime type.


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ, рдЬреЛ рдбреАрдмрдЧ рдХрд░рддреЗ рд╕рдордп рдХрд╛рдо рдореЗрдВ рдЖ рд╕рдХрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдВрдб % pdoc , % pdef , % psource рдФрд░ % pfile рднреА рд╣реИрдВ , рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди, рдлрд╝рдВрдХреНрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛, рд╕реНрд░реЛрдд рдХреЛрдб рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдХреЛрдб рдХреНрд░рдорд╢рдГ рджреЗрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред

Json.dumps рдХреЗ рд▓рд┐рдП % pdef рдХрдорд╛рдВрдб рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ:

In [8]: %pdef json.dumps
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding='utf-8', default=None, **kw)


% рд░рди рдХрдорд╛рдВрдб


рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдХрд┐рд╕реА рднреА рдкрд╛рдЗрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рд╕реАрдзреЗ рдЗрд╕рдХреЗ рд╕рднреА рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЪрд╛рдмрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд░рдирдЯрд╛рдЗрдо (-t) рдХреЛ рдорд╛рдкрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдбрд┐рдмрдЧрд░ (-d) рдпрд╛ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ (-p) рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдЖрдИрдкреАрдереЙрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдЬрд╛рджреВ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рдмреНрд░рд╢ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рд╕рдВрдХреЗрдд ( % рд░рди? ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреИрд╢рд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдкрд░рд┐рдгрд╛рдо


IPython рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдПрдХ рд▓реЗрдмрд▓ рд╣реЛрддрд╛ рд╣реИред

In [11]: a = 9
In [12]: a
Out[12]: 9


рдпрд╣ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдВрддрд┐рдо 3 рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _label_number рдпрд╛ рдмрд╕ _, __ рдФрд░ ___ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:

In [13]: _
Out[13]: 9
In [14]: _ + 8
Out[14]: 17
In [15]: _
Out[15]: 17
In [16]: _13
Out[16]: 9


рдЖрдЙрдЯрдкреБрдЯ рджрдорди


рдХрднреА-рдХрднреА рдХрдорд╛рдВрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд╛рдо рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рдХреЛ рд▓рд┐рдЯ рдХрд░рддрд╛ рд╣реИред

In [21]: "*"*100500;
In [22]:


рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рд▓рдЧрд╛рдХрд░, рд╣рдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрдкрд╖реНрдЯ рдЕрдирд┐рдЪреНрдЫрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдЗрдирдкреБрдЯ рдЗрддрд┐рд╣рд╛рд╕


2 рдХрдорд╛рдВрдбреНрд╕ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рджрд░реНрдЬ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ: % hist рдФрд░ % rep

In [22]: %hist
1 : import datetime
2 : import json
3: a = 9
4: a
In [23]: %rep 1
In [24]: import datetime <- .


рд╢реЗрд▓ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХреЙрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб


рдЖрдЬреНрдЮрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ ! рдФрд░ рдореИрдВ !! , рдЖрдк рд╕рд┐рд╕реНрдЯрдо рд╢реЗрд▓ рдХрдорд╛рдВрдб рдЬреИрд╕реЗ ls, cd, рдФрд░ рдЕрдиреНрдп рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрджреЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓рд╛ рдХреЗрд╡рд▓ рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░рд╛ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдкрдХреЛ рдЗрди рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

In [26]: !ls
Archive Development Downloads Library Music Pictures VirtualBox VMs
Desktop Documents Dropbox Movies My Projects

In [27]: !!ls
Out[27]: SList (.p, .n, .l, .s, .grep(), .fields(), sort() available):
0: Archive
1: Desktop
2: Development
3: Documents
4: Downloads
5: Dropbox
6: Library
7: Movies
8: Music
9: My
10: Pictures
11: Projects
12: VirtualBox VMs


рдмрд╣реБ-рдкрдВрдХреНрддрд┐ рд╕рдВрдкрд╛рджрди


рдЖрдИрдкреАрдереЙрди рдЙрди рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рди рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рд╣реИред % рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдХрдорд╛рдВрдб рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдПрдЧреА рдФрд░ рдЖрдкрдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рдореЗрдВ рд╕реАрдзреЗ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧреАред

% рдПрдбрд┐рдЯ рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░рдХреЗ, IPython рд╣рдореЗрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдПрдбрд┐рдЯрд░ рдЦреЛрд▓реЗрдЧрд╛ рдЬрд╣рд╛рдБ рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

In [28]: %edit
IPython will make a temporary file named: /var/folders/9Q/9Q8AwQvdEUubQ84MwFcKt++++TI/-Tmp-/ipython_edit_YPjrQx.py
Editing... done. Executing edited code...
Out[28]: 'def amicool():\n\treturn True\n'
In [29]: amicool()
Out[29]: True
In [30]:


рдкрд╣рд▓реЗ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЦреЛрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП % edit -p рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХреЛрдб рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрдкрд╛рджрд┐рдд рдЯреБрдХрдбрд╝реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ % edit _ output_number рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ % s28 рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ ред

рдмрдирд╛рдП рдЧрдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рджреЗрдЦреЗрдВ


рдореИрдВ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛:

In [32]: %who
a amicool datetime json

In [33]: %whos
Variable Type Data/Info
--------------------------------
a int 9
amicool function <function amicool at 0x1014f2848>
datetime module <module 'datetime' from '<...>lib-dynload/datetime.so'>
json module <module 'json' from '/usr<...>on2.7/json/__init__.pyc'>

In [34]:


рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХрд╛ рдорд╛рдкрди


рд╕рд░рд▓ % рд╕рдордп рдФрд░ % рд╕рдордп рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рд╣рдо рдХреЛрдб рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ:

In [45]: %timeit [1,2,3,4,5][2]
1000000 loops, best of 3: 236 ns per loop

In [46]: %timeit (1,2,3,4,5)[2]
10000000 loops, best of 3: 34.3 ns per loop

In [54]: %time [1,2,3,4,5][2]
CPU times: user 0.00 s, sys: 0.00 s, total: 0.00 s
Wall time: 0.00 s
Out[55]: 3




рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдореИрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ, ipython.github.com/ipython-doc/dev/interactive/index.html , рдЬрд╣рд╛рдВ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдЕрд▓реНрдк рд▓реЗрдЦ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВред рдЫрд╡рд┐

Source: https://habr.com/ru/post/In117608/


All Articles