零. note
- jupyter nb必须有网才能用,因为在浏览器里
- jupyter菜单栏中help里有快捷键帮助
- Markdown中关于换行:
- Markdown中的空格:在全角模式(shift+space)下使用空格,此时一个空格=半角的两个空格大小
快捷键shortcuts
note:
H:跳出快捷键界面=在菜单栏的help中选择
O: 全部折叠或显示cell的输出,=双击隐藏
切换cell的命令行模式与编辑模式:
ctrl+enter:只运行当前cell
shift+enter:运行当前cell并选中下一个cell,若没有就创建一个新cell(=B:在下面new a cell)
alt+enter:运行当前cell并总是新创建一个cell,且进入编辑模式
note:
crtl+/:选中整段代码按行注释(=R中的shift+ctrl+C)
合并cell:命令行模式中shift+M,合并最近两次选择过的cell
拆分cell:编辑模式中ctrl+shift+连接符(短横线-,0旁边的,减号)在鼠标处拆分
一.?的用途
1.显示对象的概要信息
显示该对象的概要信息,包括类型/字符串表示/长度/docstring, 类似于summary+help
print?
def add_numbers(a,b): # 自定义函数
''' 该函数的说明,包括实现功能,输入参数,返回值等用于解释说明,用于概要中的docstring
Add two numbres together
Returns
--------
the_sum:type of arguments
'''
return a+b
add_numbers? # 显示该函数的概要信息
add_numbers?? # 两个问号将docstring替换为函数的源代码Source
2.不完全匹配命名空间(与通配符结合),可以弥补tab补全(完全匹配)的缺陷
# 显示NumPy中函数名包含load的函数名列表,*表示匹配任意个数的任意字符
np.*load*?
二. 查看Python版本
!python --version # 查看python版本,命令行很严谨,空格也不能多
'''
或者在sys模块中查看
import sys
print(sys.version_info)
print(sys.version)
'''
三. IPython的魔术命令
用%作为前缀
%%time :将会给出cell的代码运行一次所花费的时间。
%time : 检查单句代码的执行时间,是随机变量,每次都不一样,为了更精确,使用timeit重复测量时间,产生更准确的平均运行时间
%timeit :对于两个执行时间都非常短的语句,多次执行更易于看出时间的差别。对于多次允许单个语句计算平均执行时间与标准差,在估算代码最短运行时间时有用。
# np.dot(a,a) : a与b的点积:两个向量的内积或两个矩阵的乘积
a = np.random.randn(100,100) # 生成100*100的矩阵,每个值服从N(0,1)
%timeit np.dot(a,a) # 0ns,时间太短
# 14.8 µs ± 273 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
# 默认运行7次,每次100000个循环,每个循环执行该语句十万次,共7*100000*10000,取最好的7次循环计算均值标准差?
# 魔术命令使用?查看概要信息
%timeit?