• 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中访问
    """

  • 相关阅读:
    margin折叠及hasLayout && Block Formatting Contexts
    视口(viewport)原理详解之第二部分(移动端浏览器)
    Git & SSH
    .NET Core 3.0 System.Text.Json 和 Newtonsoft.Json 行为不一致问题及解决办法
    阿里云函数计算 .NET Core 初体验
    Oracle PLSQL 存储过程无法进入单步调试
    解释器错误:没有那个文件或目录
    不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。
    Oracle 11G R2 安装图解
    Oracle UTL_HTTP
  • 原文地址:https://www.cnblogs.com/zhenggaoxiong/p/8656814.html
Copyright © 2020-2023  润新知