Jupyter IPython帮助文档及其魔法命令

news/2024/7/16 7:51:29 标签: jupyter, ipython, ide

1.IPython 的帮助文档

  • 使用 help()

  • 使用 ?

  • 使用 ??

  • tab 自动补全

  • shift + tab 查看参数和函数说明

2.运行外部 Python 文件

  • 使用下面命令运行外部 Python 文件(默认是当前目录,也可以使用绝对路径)

%run *.py

示例:在当前目录下有一个 myscript.py 文件:

def square(x):   """square a number"""   return x ** 2for N in range(1,4):   print(N, "squared is", square(N))

可以通过下面命令执行:

%run myscript.py# 执行效果1 squared is 12 squared is 43 squared is 9

尤其要注意的是,当我们使用魔法命令执行了一个外部文件时,该文件的函数就能在当前会话中使用

  • 只输出最后一个

square(5)square(6)# 执行结果36
  • a,b只能写在最后一行,以元组输出

a = square(5)b = square(6)a,b# 执行结果(25, 36)
  • 换行分别输出

a = square(5)b = square(6)display(a,b)# 执行结果2536
  • 以打印的方式输出

a = square(5)b = square(6)print(a,b)# 执行结果25 36
  • 导入 myscript.py 文件

import myscript#执行效果1 squared is 12 squared is 43 squared is 9

3.运行计时

  • 用下面命令计算 statement 的运行时间

%time statement# %time:一般用来统计耗时较长代码的运行时长%time square(100)# 执行效果CPU times: total: 0 nsWall time: 0 nsOut[28]:10000
  • 用下面命令统计 statement 的平均运行时间

%timeit statement
  • timeit 会多次运行 statement,最后得到一个更为精准的预期运行时间

%timeit square(100)#执行效果209 ns ± 8.52 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)%timeit -r 3 -n 100 square(100)#执行效果322 ns ± 45.9 ns per loop (mean ± std. dev. of 3 runs, 100 loops each)
  • 可以使用两个百分号来测试多行代码的平均运行时间

%%timeitsquare(100)add(10,20)# 执行效果344 ns ± 5.84 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)
  • 记住

%time  # 一般用于耗时长的代码段%timeit  # 一般用于耗时短的代码段

4.查看当前会话中的所有变量与函数(了解)

  • 快速查看当前会话的所有变量与函数名称

%who# 执行效果N     a     add     b     myscript     numpy     square
  • 查看当前会话的所有变量与函数名称的详细信息

%whos# 执行效果Variable   Type        Data/Info--------------------------------N          int         3a          int         25add        function    <function add at 0x000001AD7CAEE0C0>b          int         36myscript   module      <module 'myscript' from '<...>top\\NumPy\\myscript.py'>numpy      module      <module 'numpy' from 'D:\<...>ges\\numpy\\__init__.py'>square     function    <function square at 0x000001AD7D8F9C60>
  • 返回一个字符串列表,里面元素时当前会话的所有变量与函数名称

%who_ls# 执行效果['N', 'a', 'add', 'b', 'myscript', 'numpy', 'square']

4.安装包

  • 使用 pip 命令安装

pip install numpy

5.更多魔法命令

  • 列出所有魔法命令

lsmagic# 执行效果Available line magics:%alias  %alias_magic  %autoawait  %autocall  %automagic  %autosave  %bookmark  %cd  %clear  %cls  %code_wrap  %colors  %conda  %config  %connect_info  %copy  %ddir  %debug  %dhist  %dirs  %doctest_mode  %echo  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %macro  %magic  %matplotlib  %mkdir  %more  %notebook  %page  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %pip  %popd  %pprint  %precision  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %qtconsole  %quickref  %recall  %rehashx  %reload_ext  %ren  %rep  %rerun  %reset  %reset_selective  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmodeAvailable cell magics:%%!  %%HTML  %%SVG  %%bash  %%capture  %%cmd  %%code_wrap  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%markdown  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefileAutomagic is ON, % prefix IS NOT needed for line magics.
  • 查看魔法命令的文档:使用?

# 例如查看魔法命令 %run 的文档%run?


http://www.niftyadmin.cn/n/5471094.html

相关文章

代码随想录算法训练营第二十九天|491.非递减子序列、46.全排列、47全排列II

代码随想录算法训练营第二十九天|491.非递减子序列、46.全排列、47全排列II 491.非递减子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素…

嵌入式_RP2040

文章目录 一、环境配置二、下载烧录到开发板三、调试 PICO1. 使用 picoprobe 调试树莓派 PICO1.1. 命令行 调试1.2. IDE 调试一、环境配置 安装依赖sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib配置环境变量echo "e…

光伏发电属于高新技术产业吗?

太阳能电池是太阳能光伏发电系统的核心组成部分&#xff0c;其工作原理是利用半导体材料在太阳光的作用下产生电势差&#xff0c;从而将太阳光能转化为电能。太阳能光伏发电系统可以属于新能源行业&#xff0c;按传统划分可以属于电力行业&#xff1b;按材料划分可以属于光伏行…

1 【机器学习】统计学习的概念

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;李航统计学习笔记 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习…

Swift 代码注释的使用

Swift代码注释的使用 在 iOS 开发中&#xff0c;代码注释是一种很好的实践&#xff0c;可以帮助他人更容易理解你的代码。通常可以在代码中使用注释来解释代码的功能、目的、实现细节等。下面是一些常见的 iOS 代码注释示例&#xff1a; 1. 单行注释&#xff1a; // 这是一个…

数组方法汇总

数组和链表类似&#xff0c;都是用双指针&#xff0c;但数组不需要额外的指针&#xff0c;可以使用索引来当作指针。&#xff08;链表的时候要注意&#xff0c;什么时候是移动的指针&#xff0c;什么时候是改变的节点&#xff09;删除有序数组中的重复项 注意&#xff0c;本题中…

MySQL中MHA故障排查

文章目录 MySQL故障排查MySQL主从环境常见故障1、故障一1.1 故障现象1.2 报错原因1.3 解决方法 2、故障二2.1 故障现象2.2 报错原因2.3 解决方法 3、故障三3.1 故障现象3.2 报错原因3.3 解决方法 4、故障四4.1 故障现象4.2 问题分析4.3 解决方法 5、故障五5.1 故障现象5.2 报错…

Object.hasOwn():判断该对象是否有某个属性

定义&#xff1a;判断该对象是否有某个指定的自定义属性。 不包含继承原型链的属性 返回值&#xff1a; 返回一个布尔值&#xff0c; 判断该对象有指定的属性&#xff0c;就会返回true&#xff0c;没有就返回false &#xff1b;语 法&#xff1a;Object.hasOwn(Object,prop) 示…