Python编程IPython的基础以及命令
off999 2024-10-26 12:04 51 浏览 0 评论
IPython是我们在学习Python编程开发技术的时候需要重点掌握的一个编程知识,而今天我们就通过案例分析来了解一下,IPython的基础以及编程命令实施等内容。
一、 IPython基础
1.1 代码自动补全:Tab键
可补全内容包括:变量名、函数名、成员变量函数、目录文件
1.2 内省(Itrospection)
在变量名之前或之后加上问号(?),这样可以显示这个对象的相关信息。
如果这个对象是个函数或实例方法,那么它的docstring也会被显示出来。
使用还将显示该函数的源代码
还能搜索IPython命名空间。一些字符再配以通配符(*)即可显示出所有与其相匹配的名称。如,我们可以列出NumPy命名空间中含有load的所有函数:
1.3 %run 命令
在IPython回话环境中,所有文件都可以通过%run命令当做Python程序来运行。
脚本的行为和在标准命令行环境(通过python xxx.py启动的)中执行时一样,此后,在文件中所定义的全部变量就可以子当前IPython shell中访问了。
如果Python脚本需要用到命令行参数,可以将参数放到文件路径后面
中断正在执行的代码:任何代码在执行时,只要按下Ctrl+C,就会引发一个KeyboardInterrupt。
1.4 执行剪贴板中的代码
在IPython中执行代码简单的方式就是粘贴剪贴板中的代码。如果你不想为一段代码新建一个文件,那么可以试试这种方法。在windows中可以使用右键的粘贴命令粘贴,这会模仿IPython的多行输入功能。
1.5 键盘快捷键
Ctrl-C 终止当前正在执行的代码
Ctrl-A/E 光标移动到行/行尾
Ctrl-U 清除当前行
Ctrl-L 清屏
1.6 异常和跟踪
如果某段代码发生了异常,IPython默认会输出整个调用栈,还会附上调用栈各点附近的几行代码作为上下文参考。
上下文代码参考数量可由%xmode魔术命令进行控制,稍后还会介绍如如何进行调试。
1.7 魔术命令
IPython有一些特殊的命令。有的为常见任务提供便利,有的则使你能够轻松控制IPython系统的行为。
魔术命令是以百分号%为前缀的命令。
魔术命令可以看做运行于IPython系统中的命令行程序,它们大都还有一些参数选项。在命令后面加问号(?)可以查看。
魔术命令默认是可以不带百分号使用的,只要没有定义与其同名的变量即可。这个功能可以通过%automagic命令打开或者关闭。
通过%quickref或%magic命令可以查看所有的命令。
常用的魔术命令如下:
%quickref thon快速参考
%magic 显示magic command详细文档
%debug 从新的异常跟踪的底部进入交互式调试器
%hist 打印命令输入历史
%pdb 在发生异常后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊的提示符以便手工粘贴待执行的代码
%reset 删除interactive空间中的全部变量/名称
%run 执行一个python脚本
%page 分页显示一个对象
%time 报告statement执行的时间
%timeit 多次执行statement以计算平均执行时间,用于执行时间非常小的代码。
%who、%who_is、%whos 显示Interactive命名空间的中定义的变量,信息级别/冗余度可变
%xdel 删除变量,并尝试清楚其在IPython中的对象上的一切引用
二、 使用历史命令
IPython维护者一个位于硬盘上的一个小型数据库,包含执行过的每一天命令。这样的目的在于:
方便的搜索、自动完成之前执行过的命令
在回话间持久化历史命令
将输入输出历史记录到日志文件
2.1 搜索并重用命令历史
上箭头键:搜索出命令历史中一个与你输入的字符相匹配的命令。多次按将会在历史中不断搜索。
下箭头键:子命令历史中向前搜索。
Ctrl-R:部分增量搜素,循环在命令历史中搜素与输入相符的行。
2.2 输入和输出变量
IPython会将输入和输出的引用保存在一些特殊变量中。
近的输入个输出分别保存在_(一个下划线)和__(两个下划线)两个变量中。
输入被保存在_iX变量中,其中X是输入的行号。
输出被保存在_X变量中,其中X是输出的行号
几个与输入输出有关的魔术命令:
%hist 打印输入历史
%reset 清空interactive命名空间,可选择是否清空输入和输出缓存
%xdel 从IPython中移除特定对象的一切引用
相关推荐
- PYTHON-简易计算器的元素介绍
-
[烟花]了解模板代码的组成importPySimpleGUIassg#1)导入库layout=[[],[],[]]#2)定义布局,确定行数window=sg.Window(...
- 如何使用Python编写一个简单的计算器程序
-
Python是一种简单易学的编程语言,非常适合初学者入门。本文将教您如何使用Python编写一个简单易用的计算器程序,帮助您快速进行基本的数学运算。无需任何高深的数学知识,只需跟随本文的步骤,即可轻松...
- 用Python打造一个简洁美观的桌面计算器
-
最近在学习PythonGUI编程,顺手用Tkinter实现了一个简易桌面计算器,功能虽然不复杂,但非常适合新手练手。如果你正在学习Python,不妨一起来看看这个项目吧!项目背景Tkint...
- 用Python制作一个带图形界面的计算器
-
大家好,今天我要带大家使用Python制作一个具有图形界面的计算器应用程序。这个项目不仅可以帮助你巩固Python编程基础,还可以让你初步体验图形化编程的乐趣。我们将使用Python的tkinter库...
- 用python怎么做最简单的桌面计算器
-
有网友问,用python怎么做一个最简单的桌面计算器。如果只强调简单,在本机运行,不考虑安全性和容错等的话,你能想到的最简单的方案是什么呢?我觉得用tkinter加eval就够简单的。现在开整。首先创...
- 说好的《Think Python 2e》更新呢!
-
编程派微信号:codingpy本周三脱更了,不过发现好多朋友在那天去访问《ThinkPython2e》的在线版,感觉有点对不住呢(实在是没抽出时间来更新)。不过还好本周六的更新可以实现,要不就放一...
- 构建AI系统(三):使用Python设置您的第一个MCP服务器
-
是时候动手实践了!在这一部分中,我们将设置开发环境并创建我们的第一个MCP服务器。如果您从未编写过代码,也不用担心-我们将一步一步来。我们要构建什么还记得第1部分中Maria的咖啡馆吗?我们正在创...
- 函数还是类?90%程序员都踩过的Python认知误区
-
那个深夜,你在调试代码,一行行检查变量类型。突然,一个TypeError错误蹦出来,你盯着那句"strobjectisnotcallable",咖啡杯在桌上留下了一圈深色...
- 《Think Python 2e》中译版更新啦!
-
【回复“python”,送你十本电子书】又到了周三,一周快过去一半了。小编按计划更新《ThinkPython2e》最新版中译。今天更新的是第五章:条件和递归。具体内容请点击阅读原文查看。其他章节的...
- Python mysql批量更新数据(兼容动态数据库字段、表名)
-
一、应用场景上篇文章我们学会了在pymysql事务中批量插入数据的复用代码,既然有了批量插入,那批量更新和批量删除的操作也少不了。二、解决思路为了解决批量删除和批量更新的问题,提出如下思路:所有更新语...
- Python Pandas 库:解锁 combine、update 和compare函数的强大功能
-
在Python的数据处理领域,Pandas库提供了丰富且实用的函数,帮助我们高效地处理和分析数据。今天,咱们就来深入探索Pandas库中四个功能独特的函数:combine、combine_fi...
- 记录Python3.7.4更新到Python.3.7.8
-
Python官网Python安装包下载下载文件名称运行后选择升级选项等待安装安装完毕打开IDLE使用Python...
- Python千叶网原图爬虫:界面化升级实践
-
该工具以Python爬虫技术为核心,实现千叶网原图的精准抓取,突破缩略图限制,直达高清资源。新增图形化界面(GUI)后,操作门槛大幅降低:-界面集成URL输入、存储路径选择、线程设置等核心功能,...
- __future__模块:Python语言版本演进的桥梁
-
摘要Python作为一门持续演进的编程语言,在版本迭代过程中不可避免地引入了破坏性变更。__future__模块作为Python兼容性管理的核心机制,为开发者提供了在旧版本中体验新特性的能力。本文深入...
- Python 集合隐藏技能:add 与 update 的致命区别,90% 开发者都踩过坑
-
add函数的使用场景及错误注意添加单一元素:正确示例:pythons={1,2}s.add(3)print(s)#{1,2,3}错误场景:试图添加可变对象(如列表)会报错(Pytho...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)