.. _tut-interacting: ************************************************** 交互å¼è¾“入行编辑历å²å›žæº¯ ************************************************** æŸäº›ç‰ˆæœ¬çš„ Python 解释器支æŒç¼–辑当å‰çš„输入行和历å²è®°å½•,类似于在 Korn shell å’Œ GNU Bash shell ä¸çœ‹åˆ°çš„功能。这是使用 `GNU Readline`_ 库实现的,它支æŒå„ç§ç¼–è¾‘é£Žæ ¼ã€‚ 这个库有它自己的文档,在这里我们ä¸å°±é‡å¤äº†ã€‚ .. _tut-keybindings: Tab 补全和历å²è®°å½• ================================== å˜é‡å’Œæ¨¡å—å的补全在解释器å¯åŠ¨æ—¶ `自动打开 <https://docs.python.org/3/library/site.html#rlcompleter-config>`_ 以便 :kbd:`Tab` 键调用补全功能;它会查看Pythonè¯å¥çš„åå—,当å‰å±€éƒ¨å˜é‡ä»¥åŠå¯ä»¥è®¿é—®çš„æ¨¡å—å。对于点分表达å¼å¦‚ ``string.a``ï¼Œå®ƒå°†æ±‚å‡ºè¡¨è¾¾å¼æœ€åŽä¸€ä¸ª ``'.'`` 之å‰çš„å€¼ï¼Œç„¶åŽæ ¹æ®ç»“果的属性给出补全的建议。注æ„,如果一个具有 `__getattr__() <https://docs.python.org/3/reference/datamodel.html#object.__getattr__>`_ 方法的对象是表达å¼çš„æŸéƒ¨åˆ†ï¼Œè¿™å¯èƒ½æ‰§è¡Œåº”用程åºå®šä¹‰çš„代ç 。默认的é…ç½®åŒæ—¶ä¼šæŠŠåކå²è®°å½•ä¿å˜åœ¨ä½ 的用户目录下一个å为 :file:`.python_history` 的文件ä¸ã€‚在下次与交互å¼è§£é‡Šå™¨çš„会è¯ä¸ï¼Œåކå²è®°å½•将还å¯ä»¥è®¿é—®ã€‚ .. _tut-commentary: 其它交互å¼è§£é‡Šå™¨ =========================================== 与早期版本的解释器相比,现在是å‘å‰å·¨å¤§çš„è¿›æ¥ï¼›ç„¶è€Œï¼Œæœ‰äº›æ„¿æœ›è¿˜æ˜¯æ²¡æœ‰å®žçŽ°ï¼šå¦‚æžœèƒ½å¯¹è¿žç»çš„行给出æ£ç¡®çš„建议就更好了(解æžå™¨çŸ¥é“下一行是å¦éœ€è¦ç¼©è¿›ï¼‰ã€‚补全机制å¯ä»¥ä½¿ç”¨è§£é‡Šå™¨çš„符å·è¡¨ã€‚æ£€æŸ¥ï¼ˆæˆ–è€…åªæ˜¯å»ºè®®ï¼‰åŒ¹é…的括å·ã€ 引å·çš„命令ç‰ä¹Ÿä¼šéžå¸¸æœ‰ç”¨ã€‚ 一个增强的交互å¼è§£é‡Šå™¨æ˜¯ IPython_,它已ç»å˜åœ¨ç›¸å½“一段时间,具有 tab 补全〠对象 exploration 和高级的历å²è®°å½•功能。它也å¯ä»¥å½»åº•定制并嵌入到其他应用程åºä¸ã€‚å¦ä¸€ä¸ªç±»ä¼¼çš„增强的交互å¼çŽ¯å¢ƒæ˜¯ bpython_。 .. _GNU Readline: http://tiswww.case.edu/php/chet/readline/rltop.html .. _IPython: http://ipython.scipy.org/ .. _bpython: http://www.bpython-interpreter.org/