前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python:ipython简介及与原生python shell比价

Python:ipython简介及与原生python shell比价

作者头像
Freedom123
发布2024-03-29 14:30:32
920
发布2024-03-29 14:30:32
举报
文章被收录于专栏:DevOpsDevOps

一、ipython简介

关于什么是ipython,本文就不加以介绍了,他是一个非常流行的python解释器,相比于原生的python解释器,有太多优点和长处,因此几乎是python开发人员的必知必会。

1. ipython相比于原生的python有什么优势
  • (1) python shell不能在退出保存历史;ipython历史记录自动保存:保存在history.sqlite文件下:可用“”、“”、“”调用最近三次记录;
  • (2) python shell不支持tab自动补全;ipython支持tab补全;
  • (3) python shell不能快速获取类、函数信息;ipython通过“?”显示对象签名、文档字符串、代码位置,通过“??”显示源代码;
  • (4) python shell不能直接执行shell命令,需要借助sys;ipython通过“!”调用系统命令,如“!uptime”;
  • (5) 其他ipython有很多magic函数,可通过使用%lsmagic枚举; %run:运行python文件 %edit:使用编辑器打开当前函数编辑 %save:把某些历史记录保存到文件 %debug:激活debug程序 等等,后面会讲到
  • (6)ipython有很多快捷键
  • (7)ipython的扩展宏系统、storemagic持久化宏、变量、别名;以及autoreload自动重载等功能;

二、ipython的内省

ipython相较于原生的python,提供了更加强大的内省功能,所谓内省,也称之为内视,即 object introspection,主要有以下一些常见的方法: object? 或者?object :显示该对象的一些通用信息,注意python里面一切皆对象哦,包括函数、类。 object?? 或者??object:两个问号显示详细信息,如果是类或者是函数,还会显示源代码。即将问号放在前面和后面都可以。 通配符*匹配:如numpy.load? 这会显示所有的包含有load的函数,numpy.*sort? 这会显示所有以sort结尾的函数

三、ipython快捷键

下面介绍一下第一个和第二个快捷键,比如有如下代码:

Ctrl-P 或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令 Ctrl-N 或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令 Ctrl-R 按行读取的反向历史搜索(部分匹配) Ctrl-Shift-v 从剪贴板粘贴文本 Ctrl-C 中止当前正在执行的代码 Ctrl-A 将光标移动到行首 Ctrl-E 将光标移动到行尾 Ctrl-K 删除从光标开始至行尾的文本 Ctrl-U 清除当前行的所有文本译注12 Ctrl-F 将光标向前移动一个字符 Ctrl-b 将光标向后移动一个字符 Ctrl-L 清屏

四、魔术命令——magic command

所谓的模式命令,是指那些给我们提供方便,轻松控制ipython交互系统的命令,可以这样去理解,魔术命令可以看成是ipython交互环境下面的命令行程序,其中很多还有一些命令行参数选项。

%quickref :可以显示ipython的快速参考 %magic :可以查看到底有哪些模式命令(这个方法会显示每一个命令的详细信息,因此会很多) %lsmagic :这里只会显示模式命令的名字,会比较简洁,查看起来更方便

%命令? 或者是%命令??:当我们想要查看某一命令的详细信息,我们可以使用同前面类似的方法,在魔术命令后面添加一个或者是两个问号??来查看详细信息。

默认情况下,魔术命令总是以百分号%开头,但这不是必须的,我们也可以不使用百分号,我们也可以直接使用不带百分号的魔术命令,这称之为“自动魔术命令——automagic”如:magic 这会得到和 %magic一样的效果,但是需要注意的是,不使用百分号时,不能出现和魔术命令同名称的变量,否则显示的就是变量了。那到底是使用百分号还是不使用百分号呢?事实上,我们也是可以自由控制的,通过%automagic来控制,

默认情况下,它是开启的,即我们可以使用无%的魔术命令,只要与变量名不冲突即可,我么也可以关闭。

下面介绍一些常见的魔术命令。

  1. %run——运行一个Python脚本
  2. %paste或者是%cpaste——执行剪切板中的代码
  3. %timeit 和%time 检测任意Python语句的执行时间
  4. %who和%who_ls和%whos——查看当前interactive环境中的变量
  5. %hist——查看历史命令
  6. 删除ipython环境中的变量
  7. 其他常用魔术命令 8、ipython开发环境与cmd之间的互相切换: 在ipython交互情况下,直接输入命令 !cmd 即可进入cmd模式;在cmd模式下直接输入 ipython 可以再次回到 ipython模式

小结

https://blog.51cto.com/u_4296776/5614233

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、ipython简介
    • 1. ipython相比于原生的python有什么优势
    • 二、ipython的内省
    • 三、ipython快捷键
    • 四、魔术命令——magic command
    • 小结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档