亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IPython8.0命令行交互工具怎么用

發布時間:2022-01-13 10:45:33 來源:億速云 閱讀:173 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關IPython8.0命令行交互工具怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

前言:

IPython 是 Python 的原生交互式 shell 的增強版,可以完成許多不同尋常的任務,比如幫助實現并行化計算;主要使用它提供的交互性幫助,比如代碼著色、改進了的命令行回調、制表符完成、宏功能以及改進了的交互式幫助。

IPython 8.0 醞釀了許久,主要對現有代碼庫和幾個新功能進行了改進。新功能包括在 CLI 中使用 Black 重新格式化代碼、ghost 建議以及突出錯誤節點的更好的回溯,從而使復雜的表達式更易于調試。

1.追溯改進

之前的錯誤回溯顯示一個散列表(hash),用于編譯 Python AST:

In [1]: def foo():
...:     return 3 / 0
...:

In [2]: foo()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-2-c19b6d9633cf> in <module>
----> 1 foo()

<ipython-input-1-1595a74c32d5> in foo()
    1 def foo():
----> 2     return 3 / 0
    3

ZeroDivisionError: division by zero

現在錯誤回溯的格式正確,會顯示發生錯誤的單元格編號:

In [1]: def foo():
...:     return 3 / 0
...:

Input In [2]: foo()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
input In [2], in <module>
----> 1 foo()

Input In [1], in foo()
    1 def foo():
----> 2     return 3 / 0

ZeroDivisionError: division by zero

第二個回溯改進是stack_data 包的集成;在回溯中提供更智能的信息;它會突出顯示發生錯誤的 AST 節點,這有助于快速縮小錯誤范圍,比如:

def foo(i):
    x = [[[0]]]
    return x[0][i][0]


def bar():
    return foo(0) + foo(
        1
    ) + foo(2)

調用 bar() 會在 IndexError 的返回行上引發一個 foo,IPython 8.0 可以告訴你索引錯誤發生在哪里:

IndexError
Input In [2], in <module>
----> 1 bar()
        ^^^^^

Input In [1], in bar()
      6 def bar():
----> 7     return foo(0) + foo(
                            ^^^^
      8         1
         ^^^^^^^^
      9     ) + foo(2)
         ^^^^

Input In [1], in foo(i)
      1 def foo(i):
      2     x = [[[0]]]
----> 3     return x[0][i][0]
                   ^^^^^^^

用 ^ 標記的位置在終端會高亮顯示。

第三個回溯改進是最謹慎的,但對生產力有很大影響,在回溯中的文件名后面附加一個冒號 :: 和行號:

ZeroDivisionError               Traceback (most recent call last)
File ~/error.py:4, in <module>
      1 def f():
      2     1/0
----> 4 f()

File ~/error.py:2, in f()
      1 def f():
----> 2     1/0

許多終端和編輯器具有的集成功能,允許在使用此語法時 直接跳轉到錯誤相關的文件/行 。

2.自動建議

Ptpython 允許用戶在ptpython/config.py 中啟用自動建議功能,此功能包含豐富的代碼補全建議,

如圖:

IPython8.0命令行交互工具怎么用

目前,自動建議僅在 emacs 或 vi 插入編輯模式中顯示:

ctrl ectrl falt f 快捷鍵默認在 emacs 模式下工作。
要在 vi 插入模式下使用這些快捷鍵,必須在 config.py 中創建自定義鍵綁定。

3.使用“?”和"??"查看對象信息

在 IPDB 中,現在可以使用“?”和”? ?“來顯示對象的信息,在使用 IPython 提示符時也可如此操作:

ipdb> partial?
Init signature: partial(self, /, *args, **kwargs)
Docstring:
partial(func, *args, **keywords) - new function with partial application
of the given arguments and keywords.
File:           ~/.pyenv/versions/3.8.6/lib/python3.8/functools.py
Type:           type
Subclasses:

4.歷史范圍全局功能

之前使用 %history  功能時 , 用戶可以指定會話和行的范圍,例如:

~8/1-~6/5   # see history from the first line of 8 sessions ago,
            # to the fifth line of 6 sessions ago.``

或者可以指定全局模式(global):

-g <pattern>  # glob ALL history for the specified pattern.

但無法同時指定兩者,如果用戶確實指定了范圍和全局模式,則將使用 glob 模式(通配所有歷史記錄),并且將 忽略范圍 。

現在此功能獲得了增強,如果用戶同時指定范圍和 glob 模式,則 glob 模式將應用于指定的歷史范圍。

感謝各位的閱讀!關于“IPython8.0命令行交互工具怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长岛县| 阿拉善盟| 南丹县| 肇州县| 新化县| 裕民县| 运城市| 新晃| 礼泉县| 姚安县| 德钦县| 芒康县| 禹州市| 和林格尔县| 台江县| 东方市| 连云港市| 辽源市| 荣昌县| 广德县| 泾阳县| 嘉荫县| 衡南县| 马关县| 塘沽区| 慈溪市| 永定县| 宜都市| 紫金县| 台东市| 固镇县| 隆子县| 来凤县| 沙坪坝区| 资中县| 普定县| 临桂县| 牡丹江市| 泽州县| 嘉义县| 惠东县|