Python 中的魔法命令

當 Python 在 1991 年被引入時,人們普遍認為 Python 是「使用自擔風險」的語言。但是情況變了;Python 是目前佔主導地位的語言,它用於數據科學、機器學習和軟體開發。

我們知道 Python 是一種靈活的語言。所以我們可以增加新的功能,比如魔法命令。

本教程將討論魔法命令。這些神奇的命令肯定有助於減少頭痛。

介紹

魔法命令是易於設計的語法,便於我們執行日常任務。這些基本上是為了使用 Python 完成數據分析中的一些常見任務而創建的。事實上,它們控制著 IPython 本身的性質。它用於運行外部腳本或計算一段代碼的執行時間。

我們可以在 IPython 中使用這兩種不同形式的魔法命令。

  • Line Magic-Line Magic 命令表示使用%前綴,並對特定的輸入行進行操作。它以表達式的形式使用,它們的返回值可以賦給變數。
  • Cell Magic-Cell Magic 命令使用%% prefix 表示,適用於一個完整的單元格或多行輸入。他們接收整個區塊作為字元串。

讓我們了解一下最流行和最有趣的命令。

內置魔法命令

1.% auto all[模式]

%autocall[mode] 魔法函數用於使函數自動可調用,而無需使用括弧。

2.%automagic

如果我們設置為 1,這個神奇的函數也可以被調用,而不需要初始化% 1。我們需要設置為 0 來停用它。

輸出:


Automagic is OFF, % prefix IS needed for line magics.

3.%運行

假設我們有一個名為 program_test.py 的文件,其代碼如下。


def name()
    print("Hello I am Stuart?)
name()

我們使用以下語句來運行。


%run program_test.py

該腳本將在不導入已定義變數的情況下運行。

上述命令的行為將與 python program_script.py 文件相同。

注意-我們可以使用%run -i 提供對已經定義的變數的訪問

現在我們可以在 IPython shell 中訪問執行文件的所有變數。

4.%cd

這個神奇的命令改變了當前目錄。它自動管理我們在 IPython 會話期間訪問的內部目錄列表。

輸出:


C:\Users\DEVANSH SHARMA

用法-

  • %cd

    -將當前工作目錄更改為

  • %cd..-它將當前目錄更改為父目錄。

  • %cd -它更改為上次訪問的目錄。

5.% d 列表

這是一個非常有用的魔法命令;它會列印我們在當前會話中訪問過的所有目錄。每次執行%cd 命令,都會在 _dh 變數中更新。

輸出:


Directory history (kept in _dh)
0: C:\Users\DEVANSH SHARMA

6.%編輯

編輯魔法命令解鎖當前操作系統的默認文本編輯器(窗口記事本),用於編輯 Python 腳本。我們可以在編輯器中編輯當前的 Python 腳本。

輸出:


IPython will make a temporary file named: C:\Users\DEVANS~1\AppData\Local\Temp\ipython_edit_z41uo6o8\ipython_edit_zwb99en9.py

7.% env[guin name]

這個神奇的命令用於啟用和禁用 IPython GUI 事件循環集成。當我們使用 GUINAME 參數時,這個命令將默認的圖形用戶界面工具包替換為指定的工具包。

8.%%timeit

上面的命令計算了 IPython 環境執行 Python 程序所花費的時間。讓我們理解下面的程序。


%%timeit
square_numbers = [num**2 for num in range(1,1000)]

輸出:

659 µs ± 19.8 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

9.%lsmagic

這個命令將返回所有魔法命令的列表。讓我們看看下面的例子。


%lsmagic

輸出:

10.%誰

上述命令將返回當前筆記本中定義的所有變數的列表。

輸出:


a    b   c   name    z  

11.%pinfo

它返回關於變數的詳細信息。我們可以檢查存儲在特定變數名中的對象。讓我們理解下面的例子。

命令-


%pinfo a 

輸出:

Type:        int
String form: 10
Docstring:  
int([x]) -> integer
int(x, base=10) -> integer

Convert a number or string to an integer, or return 0 if no arguments
are given.  If x is a number, return x.__int__().  For floating point
numbers, this truncates towards zero.

If x is not a number or if base is given, then x must be a string,
bytes, or bytearray instance representing an integer literal in the
given base.  The literal can be preceded by '+' or '-' and be surrounded
by whitespace.  The base defaults to 10\.  Valid bases are 0 and 2-36.
Base 0 means to interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4

13.%matplotlib inline

用於顯示 Jupyter 筆記本中的 matplotlib 圖形。然而,這個命令在舊版的 Jupyter 筆記本中是可用的。在較新的版本中,這不再使用。

14.%hist

此命令返回當前筆記本的歷史記錄。意思是,我們在當前筆記本上已經做了什麼。

輸出-


%dhist
%edit
%env[GUINAME]
%automagic
def name()
    print('Hello I am Stuart')
name()
def name():
    print('Hello I am Stuart')
name()
%cd
%%timeit
square_number = []
for num in range(1,100):
    sqaure_number.append(num**2)
%%timeit
square_numbers = []
for num in range(1,100):
    sqaure_numbers.append(num**2)
%%timeit
square_numbers = [num**2 for num in range(1,1000)]
%%html
<html>
<body>
<h3>Student Marks</h3>
<table>
        <tr> 
            <th>Name</th> 
            <th>Roll</th> 
            <th>Age</th>
            <th>Marks</th>
        </tr> 
        <tr> 
..........................................
..........................................
..........................................

在 IPython 中執行 Html 腳本

我們可以使用神奇的命令來執行 HTML 和 JavaScript 代碼。它幫助我們為代碼提供一些簡單的用戶界面元素。

語法-

%%html 允許我們執行 html 腳本。

%%js 允許我們執行 js 腳本。

讓我們看看下面的例子。

命令


%%html
<html>
<body>
<h3>Employee Details</h3>
<table>
        <tr> 
            <th>Name</th> 
            <th>Designation</th> 
            <th>Age</th>
            <th>Salary</th>
        </tr> 
        <tr> 
            <td>Peter</td> 
            <td>HR</td> 
            <td>29</td>
            <td>93000</td>
        </tr>
        <tr> 
            <td>Parker</td> 
            <td>IT</td> 
            <td>24</td>
            <td>92000</td>
        </tr>
        <tr> 
            <td>Adam</td> 
            <td>IT</td> 
            <td>26</td>
            <td>120000</td>
        </tr>
</table>
</body>
</html>

使用環境變數

  • %env

這個命令讓我們可以訪問和處理系統環境變數。

輸出:

{'ALLUSERSPROFILE': 'C:\\ProgramData',
 'APPDATA': 'C:\\Users\\DEVANSH SHARMA\\AppData\\Roaming',
 'C:\\PROGRAMDATA\\ANACONDA3\\SCRIPTS\\': 'C:\\ProgramData\\Anaconda3',
 'C:\\USERS\\DEVANSH SHARMA\\APPDATA\\ROAMING\\NPM': 'C:\\Users\\DEVANSH SHARMA\\AppData\\Roaming\\npm',
 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files',
 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files',
 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files',
 'COMPUTERNAME': 'DESKTOP-2VAN176',
 'COMSPEC': 'C:\\WINDOWS\\system32\\cmd.exe',
 'DART_SDK': 'C:\\Program Files\\Dart\\dart-sdk',
 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData',
 'FPS_BROWSER_APP_PROFILE_STRING': 'Internet Explorer',
 'FPS_BROWSER_USER_PROFILE_STRING': 'Default',
 'HOMEDRIVE': 'C:',
 'HOMEPATH': '\\Users\\DEVANSH SHARMA',
 'LOCALAPPDATA': 'C:\\Users\\DEVANSH SHARMA\\AppData\\Local',
 'LOGONSERVER': '\\\\DESKTOP-2VAN176',
 'NUMBER_OF_PROCESSORS': '4',
 'ONEDRIVE': 'C:\\Users\\DEVANSH SHARMA\\OneDrive',
 'OS': 'Windows_NT',
 'PATH': 'C:\\Users\\DEVANSH SHARMA\\Anaconda3;C:\\Users\\DEVANSH SHARMA\\Anaconda3\\Library\\mingw-w64\\bin;C:\\Users\\DEVANSH SHARMA\\Anaconda3\\Library\\usr\\bin;C:\\Users\\DEVANSH SHARMA\\Anaconda3\\Library\\bin;C:\\Users\\DEVANSH SHARMA..............
  • %env var – 它返回特定變數的值。例如- %env OS

輸出:


'Windows_NT'
  • %env var 值- 用於設置變數 var 的值。

結論

在本教程中,我們已經介紹了 Jupyter 筆記本的重要魔法命令。這些命令使工作更容易,也提供了有效使用筆記本電腦的靈活性。


原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/290772.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 13:13
下一篇 2024-12-24 13:13

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論