本章内容主要介绍了ipython的常用命令以及python语言基础知识。
1. Ipython基础
特点
相比于python自带的ide,ipython可读性更好一点,支持tab键补全(命名空间以及输入历史等),以及执行任意代码块(通过复制粘贴)和整个python脚本的功能。
内省
变量名的前后使用?可以显示一些关于该对象的概要信息。
对函数使用?来显示文档字符串,使用??来显示函数的源代码。
?与通配符*搭配使用,可以显示所有匹配通配符表达式的命名。如:
np.星号load星号?
魔术命令
%quickref 显示ipython快速参考卡
%magic 显示所有可用魔术命令
%debug 从最后发生报错的底部进入交互式调试器
%hist 打印命令输入历史
%pdb 出现任意报错后自动进入调试器
%paste 从剪贴板中执行已经预先格式化的python代码
%cpaste 打开一个特殊提示符,手动粘贴待执行的python代码
%reset 删除交互式命名空间中所有的变量/名称
%page OBJECT 通过分页器更美观地打印显示一个对象
%run xxxx.py 在ipython中运行一个python脚本
%prun 语句 使用CProfile执行语句,并报告输出
%time 语句 报告单个语句的执行时间
%timeit 语句 多次运行单个语句计算平均运行时间,多用于估算代码最短执行时间
%xdel 变量名称 在ipython内部删除一个变量,清楚相关的引用
Ctrl-C 终端运行中的代码
%load
jupyter notebook中将脚本作为一个代码单元导入命令
2.Python基础
变量和参数传递
变量赋值的过程就是创建一个指向等号右边对象的引用。
a = [1,2,3]
b = a
在某些语言中,会是数据[1,2,3]被拷贝的过程,而在python中,a和b实际上指向了同一个相同的对象。因此赋值也可称作绑定,即将一个变量名绑定到一个对象上。
动态引用、强类型
python中定义变量不需要声明变量类型,转换类型一般需要类型转换函数。
属性和方法
属性:python对象“内部”存储的其他对象
方法:与对象内部对象有关的函数
鸭子类型
通常情况下不关心某个对象的具体类型,而是关心它是否用于某个特殊的方法或者行为。
鸭子类型:一个东西走起来像鸭子叫起来像鸭子,那它就是鸭子。
is和==的区别
is检查两个引用是否指向同一个对象,==比较两个对象是否相等。
字符串格式化
参照转载博客内容。
三元表达式
将一个if-else代码联合起来,在一行代码或一个语句中生成数据。
value = true-expr if condition else false-expr