首页 > 优化 > 关键词  > 原创外文最新资讯  > 正文

Python十大魔术命令可助你提高生产力

2020-04-16 08:47 · 稿源:站长之家

站长之家注:Python不仅是最如今最通用的编程语言,而且在集成新功能时也是最灵活的,比如魔术命令(Magic commands)就是python shell当中重要的功能之一。以下我们来看下10个简单的魔术命令是如何帮助工程师提高生产力。

python中的魔术命令到底是什么?

魔术命令是对常规python代码的增强,这些命令由IPython内核提供。同时这些魔术命令通常以“%”字符作为前缀。

这些命令基本上是为解决我们面临的常见问题而添加的,并且也是为程序员的代码提供了一些快捷方式。目前有2种魔术命令可用-%前缀和%%前缀。

%前缀表示该命令在一行代码上运行,而%%前缀允许该命令在整个单元格上运行

以下是jupyter notebook中执行的魔术命令及其实现的列表

运行外部文件

当我们尝试在jupyter notebook中运行一些代码段时,我们希望运行位于某个目录中的外部代码文件。

%run允许你从jupyter Notebook运行任何外部python文件

上面的文件myCode.py包含一个输出上述语句的简单脚本。

如果我们指定文件名(包括%run命令的路径),它将执行该文件。

注意:%run还允许执行外部jupyter Notebook。

代码执行时间

你有没有考虑过你的代码需要多少时间才能运行?使用时间魔术命令可以追踪单元的总体执行情况。由于我们将在此处处理整个单元格,因此我们将%%作为时间关键字之前的前缀。

上面的单元格包含一个带随机计算的for循环。

%% time有助于获取运行for循环所需的执行时间。

将内容复制到外部文件

大多数的时候,你会觉得需要直接从jupyter notebook上将内容添加到python脚本或文本文件中。你无需复制所有内容并创建新文件,而可以通过在代码之前添加writefile命令直接导出单元格内容。

请注意命令前的%%,表示将导出单元格的全部内容。

由于我已经创建了包含某些内容的文件,因此它将显示“Overwrite myCode.py”,指定它将用上图所示的内容覆盖我的原始内容。

显示外部文件的内容

通常你会将需要的几行代码从外部文件复制到你的代码中

%pycat允许你显示任何目录中任何文件的内容,且无需花费很长时间来获取文件并打开文件进行复制。

它可以将外部文件的所有内容作为其输出,从实际应用来说,可以将它视为%writefile的反向逻辑。

列出所有变量

这个魔术命令显示整个jupyter notebook中使用的所有变量。

以下是3个变量——2个字符串和1个整数。 如果我们运行%who,它将列出我们定义的所有3个变量。

上面的代码显示所有变量,而与它们的数据类型无关。

为了显示特定的数据类型变量,我们需要在魔术命令之后传递数据类型。上面的代码显示所有字符串数据类型变量作为其输出。

在笔记本之间共享变量

这个魔术命令使你可以在不同的jupyter notebooks之间共享任何变量。你需要使用魔术命令传递原始变量。

为了检索变量,你需要传递带有'-r'参数的相同命令。

这是第一个笔记本的样子

然后在另一个笔记本中写检索此数据所需的代码

这可能是在不同笔记本之间共享任何数据类型的数据的最简单方法。

执行HTML脚本

%% html允许我们在单元格中编写html代码, 即该单元格将用作本单元格的html输出的编辑器。

以下代码包含一个用html创建的简单表。你会注意到html输出显示了预期的表格。

提示:你可以使用类似于HTML魔术命令的%% js magic命令在单元格中运行Javascript代码。

显示Matplotlib视图

%matplotlib内链魔术命令是最流行的命令。此命令允许Jupyternotebook在笔记本中显示matplotlib视图。此命令激活对jupyternotebook的matplotlib交互式支持。

我们已经导入了一些我们需要用来解释命令功能的库。

现在,我们将创建两个随机列表制作成图标

现在,我们将绘制数据的散点图

%matplotlib内链魔术命令使你可以可视化jupyternotebook本中的图形。

设置环境变量

这一魔术命令可以帮助你达成3件事情:

1、列出所有环境变量

2、获取特定环境变量的值,

3、为变量赋值

没有参数的%env将列出所有环境变量。

具有单个参数的%env将返回指定参数的值。

“%env变量值”将设置指定变量名称的值。

对象详细信息

%pinfo提供了有关随其一起传递的对象的详细信息。

在以下代码段中,我传递了一个简单的字符串“a”以及%pinfo以获取有关它的详细信息。

从上面的输出中,%pinfo提供有关字符串对象的所有信息。

你可以使用“%lsmagic”命令找到所有魔术命令列表。

这些是我的十大魔术命令,希望能帮助你提高生产力并节省时间。

注:本文编译自medium,作者Siddhesh Jadhav,原文标题为Top 10 Magic Commands in Python to Boost your Productivity

举报

  • 相关推荐
  • iPhone 18 Pro或缩小灵动岛 苹果正测试特殊挖孔方案

    据站长之家报道,iPhone 18 Pro系列正进行屏幕形态革新,测试HIAA挖孔方案,将显著缩小沿用多年的灵动岛设计,提升屏占比与视觉简洁度。同时硬件升级包括:测试可变光圈技术以优化拍照;Pro+Max版采用钢壳电池增强耐用性与安全性;新增透明版本提供个性化选择。超透镜技术的研发旨在缩小Face ID组件体积,确保识别精度,进一步压缩灵动岛区域,提升交互流畅性。

  • AI日报:上海首例涉AI提示词著作权案宣判;Kimi K2 Thinking发布;中文图像编辑新王UniWorld-V2发布

    今日AI领域动态:上海首例AI提示词著作权案宣判,法院认定提示词不具独创性;月之暗面发布Kimi K2思考模型,实现自主多轮工具调用;UniWorld-V2图像编辑模型支持中文框选即改,性能超越GPT-Image;谷歌推出AI文件检测工具Magika 1.0,支持超200种格式;Sora安卓版首日下载量达47万次;我国发布全球首个AI海洋大模型“瞰海”,可精准预测10天内海洋变化;宇树科技“Embodied Avatar”系统实现低延迟远程机器人操控;谷歌Gemini API推出文件搜索工具,简化私有RAG系统集成。

  • 李想谈iPhone Air使用感受:整体很满意 但有续航焦虑

    今日,理想汽车创始人李想在B站发布视频,提到自己近一年用过最有意思的3款产品,其中就包括最近在用的iPhone Air。 李想表示,iPhone Air真的很轻薄,这是这么多年来第一款可以放在前兜、裤兜都不会有拖拽感的手机。 实际体验下来,拍照在自己接受范围内,扬声器前期有影响但是很快可以适应。

  • 20周年iPhone将消灭灵动岛:首款真全面屏苹果手机

    2027年iPhone将迎来发布20周年,预计苹果将推出颠覆性新品。回顾历史,2007年首款iPhone开启智能手机时代,2017年iPhone X引领全面屏交互。据悉20周年款将实现真全面屏设计,采用屏下Face ID与屏下摄像头,成为首款无刘海无挖孔的iPhone。通过创新专利技术,优化红外光穿透屏幕实现高效人脸识别。此外可能搭载台积电2nm芯片,性能表现值得期待。

  • 双十一 Vlog 相机新手小白选购秘籍:佳能 PowerShotV1 开启创作轻松路

    佳能PowerShot V1专为Vlog新手设计,定位“新手神器”。它配备1.4英寸CMOS传感器与DIGIC X处理器,支持5.7K超采样4K视频,画质清晰细腻。相机操作简单,配备直觉式拨杆和智能场景识别系统,可自动优化参数,新手也能一键拍出高质量画面。其一体化超广角变焦镜头覆盖常用焦段,自带光学防抖,并针对对焦模糊、画面抖动问题提供解决方案。双十一优惠套餐包含补光灯、三脚架等配件,满足新手全程拍摄需求,是入门Vlog创作的理想选择。

  • iPhone 18全系标配2400万前摄:苹果史上最强

    摩根大通最新研究报告显示,iPhone 18系列所有旗舰机型将搭载2400万像素前置摄像头,较iPhone 17系列的1800万像素有所升级。 此前曾有多个消息源爆料,iPhone 17全系列会配备2400万像素前置摄像头,但这一传闻最终并未兑现。不过iPhone 17系列搭载的1800万像素前置摄像头本身已是一次大幅更新。

  • iPhone Air 2或新增1颗镜头:继续沿用6.5英寸高刷中屏

    知名博主透露,尽管初代iPhone Air市场表现不佳,苹果仍继续推进该产品线迭代。新款iPhone 18 Air将延续6.5英寸高刷屏、3D人脸识别与横向跑道设计,并重点升级影像系统——新增4800万像素主摄搭配超广角镜头组合。对比初代单摄配置提升显著。分析师郭明錤指出,现有Pro与标准版已满足高阶用户需求,导致Air系列定位尴尬。此前该机型首周销量仅5万台,供应链已下调产能。从mini、Plus到Air,苹果多次尝试细分市场均未达预期。

  • M6 iPad Pro将加入VC散热:向iPhone 17 Pro看齐

    随着芯片性能的不断提升,苹果计划为iPad Pro配备VC散热系统,消费者最快会在M6 iPad Pro上看到。 Mark Gurman指出,如果iPhone与iPad Pro配备VC散热系统的尝试取得成功,苹果后续可能会将该技术应用到MacBook Air等其他被动散热设备上。 目前苹果对iPad Pro的更新周期约为18个月,因此下一代iPad Pro预计将在2027年春季发布。

  • 苹果喊话13和14iPhone用户换新机!国补叠加双十一库克终于妥协了,iPhone17降价,2025双十一苹果优惠最低价

    2025年双十一iPhone 17标准版256GB直降至4499元,比首发便宜1500元。国家首次将手机纳入补贴范围,叠加平台直降、红包雨和以旧换新,四重优惠后价格低至“白菜价”。iPhone 13/14用户面临性能不足和电池老化问题,且补贴政策精准针对6000元以下机型,促使其换机。关键操作包括:京东/淘宝搜“红包多多678”领统一红包,京东搜“国补降额678”认证资格;11月10日晚8点抢全年最低价。建议iPhone 13用户抓紧换机,旧机最高抵2100元,实现终极省钱。

  • 苹果iPad mini将支持防水:看齐iPhone

    苹果正研发新一代防水iPad mini,采用无扬声器开孔设计降低进水风险,防水性能接近iPhone。与iPhone采用粘合剂密封不同,iPad mini通过全新扬声器系统实现防水。现售款无官方防水认证,而新款预计2026年上市,可能搭载OLED屏幕并涨价约100美元(现起售价499美元)。

今日大家都在搜的词: