Python中的基本命令
当Python在1991年被引入时,人们普遍认为Python是一种“自行承担风险”的语言。但现在情况已经改变;Python现在是一种主导语言,在数据科学、机器学习和软件开发中被广泛使用。
就我们所知,Python是一种灵活的语言。因此我们可以添加新特性和函数,例如魔法命令。
这篇教程将讨论魔法命令。这些魔法命令肯定有助于减少很多麻烦。
介绍
魔法命令是一种易于设计的语法,可以帮助我们执行常见任务。它们基本上是为了完成使用Python进行数据分析的一些常见任务而创建的。实际上,它们控制着IPython的本质。它们用于运行外部脚本或计算一段代码的执行时间。
我们可以在IPython中使用两种不同形式的魔法命令。
- 行魔法 – 行魔法命令使用%前缀,并作用于特定的输入行。它们以表达式的形式使用,并且它们的返回值可以赋值给变量。
- 单元魔法 – 单元魔法命令使用%%前缀,并作用于完整的单元格或多行输入。它们接收整个块作为字符串。
让我们来学习一下最受欢迎和有趣的命令。
内置魔法命令
1.%autocall [mode]
使用 %autocall[mode] 魔法函数可以使函数自动可调用,而无需使用括号。
2. %automagic
如果将该魔法函数设置为1,它也可以在没有初始%的情况下被调用。我们需要将其设置为0来禁用它。
输出:
Automagic is OFF, % prefix IS needed for line magics.
3. %run
假设我们有一个名为 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. %dhist
这是非常有用的魔术命令;它会打印出在当前会话中访问的所有目录。每次执行%cd命令时,都会更新到 _dh 变量中。
输出:
Directory history (kept in _dh)
0: C:\Users\DEVANSH SHARMA
6. %edit
该编辑魔术命令会解锁当前操作系统的默认文本编辑器 (在Windows下是记事本) 用于编辑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[GUINAME]
此魔术命令用于启用和禁用 IPython GUI 事件循环集成。当使用GUINAME参数时,此命令将默认的GUI工具包替换为指定的工具包。
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. %who
以上命令将返回当前笔记本中定义的所有变量的列表。
输出:
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代码。它帮助我们为我们的代码提供一些简单的UI元素。
语法 –
%%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 value – 它用于为变量var设置值。
结论
在本教程中,我们介绍了Jupyter笔记本的重要魔术命令。这些命令使工作更加简便,也提供了高效使用笔记本的灵活性。