python学习记录_IPython基础,Tab自动完成,内省,%run命令_
这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动。此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博客,欢迎指教。2018-03-27 12:34:31
学习书目《利用Python进行数据分析》
IPython 一种交互式计算和开发环境
linux 安装 sudo apt-get install ipython
IPython基础
~$ ipython
asPython 2.7.12 (default, Dec 4 2017, 14:50:18)
Type "copyright", "credits" or "license" for more information. IPython 2.4.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: from numpy.random import randn In [2]: import numpy as np In [3]: data = {i :randn() for i in range(7)} In [4]: data Out[4]:
{0: -0.32421485650349186,
1: 0.752834410829907,
2: 1.0926380203566248,
3: -0.6641241145638012,
4: 1.0580982848912308,
5: -1.3974082670817336,
6: 0.08712617271950605} In [5]: print data
{0: -0.32421485650349186, 1: 0.752834410829907, 2: 1.0926380203566248, 3: -0.6641241145638012, 4: 1.0580982848912308, 5: -1.3974082670817336, 6: 0.08712617271950605}
"""
numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。
numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值。
numpy.random.rand(d0, d1, …, dn)的随机样本位于[0, 1)中。
"""
Tab键自动完成
"""
Tab键自动完成功能是对标准Python shell的主要改进之一
在shell中输入表达式时,只要按下Tab键,当前命名空间中任何与已输入的字符串相匹配的变量就会找出来
"""
In [1]: an_apple = 7 In [2]: an_exampel = 42 In [3]: an
an_apple an_exampel and any In [3]: b = [1, 2 ,3] In [4]: b.<Tab>
b.append b.extend b.insert b.remove b.sort
b.count b.index b.pop b.reverse In [4]: import datetime In [5]: datetime.<Tab>
datetime.MAXYEAR datetime.datetime datetime.timedelta
datetime.MINYEAR datetime.datetime_CAPI datetime.tzinfo
datetime.date datetime.time
#<Tab>只是一个按键
"""IPython会默认隐藏那些带有下划线开头的方法和属性,若要访问直接加个_(下划线)就行"""
In [6]: datetime._
datetime.__class__ datetime.__new__
datetime.__delattr__ datetime.__package__
datetime.__dict__ datetime.__reduce__
datetime.__doc__ datetime.__reduce_ex__
datetime.__format__ datetime.__repr__
datetime.__getattribute__ datetime.__setattr__
datetime.__hash__ datetime.__sizeof__
datetime.__init__ datetime.__str__
datetime.__name__ datetime.__subclasshook__
"""
Tab键自动完成不仅可以用于搜索命名空间和自动完成对象或模板属性,当你输入类似路径的东西时,按下Tab键,就可以找到系统文件中与之对应的东西
"""
In [6]: /home/
/home/iostream/ /home/lost+found/
内省
In [1]: b = {1, 2 ,3}
In [2]: b?
Type: set
String form: set([1, 2, 3])
Length: 3
Docstring:
set() -> new empty set object
set(iterable) -> new set object
Build an unordered collection of unique elements.
In [3]: b = [1, 2, 3]
In [4]: b?
Type: list
String form: [1, 2, 3]
Length: 3
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items
"""
在变量的前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息显示出来,叫作对象的内省
"""
In [1]: def add_numbers(a, b):
...: """
...: Add two numbers together
...:
...: Returns
...: -------
...: the_sum : type of arguments
...: """
...: return a + b
...:
"""
使用?显示这段docstring
"""
In [2]: add_numbers?
Type: function
String form: <function add_numbers at 0x7fb9308e7aa0>
File: /home/iostream/<ipython-input-1-5628bd19e409>
Definition: add_numbers(a, b)
Docstring:
Add two numbers together Returns
-------
the_sum : type of arguments
"""
使用??显示该函数的源代码
"""
In [3]: add_numbers??
Type: function
String form: <function add_numbers at 0x7fb9308e7aa0>
File: /home/iostream/<ipython-input-1-5628bd19e409>
Definition: add_numbers(a, b)
Source:
def add_numbers(a, b):
"""
Add two numbers together Returns
-------
the_sum : type of arguments
"""
return a + b
"""
?还有一个用法,即搜索IPython命名空间
一些字符再配上通配符(*) 即可显示所有与该通配符表达式相匹配的名称
NumPy顶级命名空间中含有"load"的所有函数
"""
In [5]: import numpy as np In [6]: np.*load*?
np.load
np.loads
np.loadtxt
np.pkgload
%run命令
"""
在IPython会话环境中,所有文件可以通过%run命令当作Python程序运行
假如在ipythontest.py中存放脚本
"""



In [11]: c
Out[11]: 7.5 In [12]: result
Out[12]: 1.4666666666666666
"""
脚本是在一个空的命名空间中运行
其行为应该跟在标准命令行环境(python *.py启动的)中执行时一样
此后,该文件中定义的全部变量(还有各种import,函数和全局变量) 都可在IPython shell中访问
"""
python学习记录_IPython基础,Tab自动完成,内省,%run命令_的更多相关文章
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- python学习日记(基础数据类型及其方法01)
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...
- Python学习记录day8
目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...
- Python学习记录day7
目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...
- 学习记录-java基础部分(一)
学习记录-java基础部分(一) 参考:GitHub上的知名项目:javaGuide : https://github.com/Snailclimb/JavaGuide/blob/master/doc ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录:括号配对检测问题
Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...
- Python学习day16-模块基础
<!doctype html>day16 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
随机推荐
- 安装php7.2
1,yum源默认的版本太低了,手动安装有一些麻烦,所以可以采用yum的方式进行安装. 2,检查当前安装的PHP包yum list installed | grep php 如果有安装的PHP包,先删除 ...
- 5-7 学生cpp成绩统计
完成“学生cpp成绩计算”之后,修改Person和Student类,各自增加两个无参构造函数. 仍以Person类为基础,建立一个派生类Teacher,增加以下成员数据: int ID;//教师工号 ...
- Self-examination
第一次参加省赛,算是真正感受到比赛的残酷.拿到好成绩,需要平时大量的积累,甚至也需要一点运气,然后我还做的不够,但我觉得我可以做得更好. 我之前是没有任何基础,大一才刚刚从知码开门入门.然后刚开始一直 ...
- VSTO外接程序项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】
VSTO中的自定义功能区和自定义任务窗格需要用到各种命名空间.添加所需文件,才能实现.后来我发现可以把所有代码都写在ThisAddin.cs这个默认文件中. 大家可以在Visual Studio中创建 ...
- sqlserver命令创建数据库和表 demo
由于sqlserver用起来很不爽 可以尝试用vscode+sqlserver插件玩玩 友情提示 在vscode中新建一个.sql 并配置好与sqlserver的连接 利用sql会有提示创建表 数据库 ...
- WIN10 蓝牙连接音箱之后,音量调节无效,音量从1-100,声音一样大,都是最大声,可以静音(解决方案)
1.win+r,输入regedit,打开注册表2.进入路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Bluetooth\Audio\AV ...
- Qt Sleep、QCoreApplication::processEvents()(最佳的平衡:一边发送消息,一边睡眠)
sleep()//秒 msleep()//毫秒 usleep()//微秒 以前为了模拟鼠标点击用过这些函数,可以让进程中断,今天发现我原来的做法其实不对.这组函数会将你当前的线程/进程变为“睡眠”状态 ...
- sqlserver中的数据导到mysql相关
一.在sqlserver中生成数据表脚本,粘贴到记事本中,如下语法要进行替换 1.int IDENTITY (1, 1) NOT NULL——>id int unsigned NOT NULL ...
- SQL语句简单应用(未完)
简介: SQL(structured query language)结构化查询语句,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系型数据库系统,同时也是数据库脚本文件的扩展名 ...
- LeetCode Day 2
LeetCode0004 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 n ...