私はIPythonを使用するために、Pythonのが大好き

I Pythonの愛好家、6ヶ月のPythonを学びます。私はIPythonと接触するように起こっヶ月前に、共有への皆のために大きく、ここメリット


001 IPythonは何ですか

IPython(対話のpython)、インタラクティブな使いやすいはるかにデフォルトのpythonシェルよりパイソン、変数自動補完のためのサポート、自動インデントされ、機能や便利な機能の多くを構築しました。

そこIPythonを使用するには、2つの方法があり、IPython shellそしてjupyter notebookこの記事はjupyterノートブック、IPythonが密接に接続されているJupyter焦点を当て、(http://jupyter.org)プロジェクト。

010なぜjupyterノート

Jupyterノートブックは、IPythonシェルブラウザベースのインターフェイスであるような添えものの様々な提供:内蔵値下げフォーマット、可視化を...... Pythonコードを実行されますが、学習Pythonのラップトップはまた、あなたを共有することができます良い選択であるとことができるだけでなく、ノートブック(.ipynbファイル)、あなたの小さな友人はまた、自分のノートブック型コンピュータ上でコードを実行できるように
すべてのすべてを、jupyterノートフレンドリーなインターフェース、強力な

011.jupyterノートブックのインストール

jupyterインストール方法は、二つあり、一つは直接CMDに入力されます。

pip install jupyter

第二は、アナコンダのインストールをある私の推奨される方法である
アナコンダをインストールしていない場合は、初段https://www.anaconda.com入力CMDの完了後にインストールパッケージアナコンダ、アナコンダをダウンロード

conda install jupyter

この方法では、インストール上のjuyterに成功しました

100.jupyterノートブックの起動やファイルの操作

jupyterノートブックを開始するには、CMDで次のコマンドを入力し、それがデフォルトブラウザで開きます

jupyter noterbook

次のようにオープンなインタフェースは、後

  • jupyterノートデフォルトのパスは、管理者管理者(DBA)がフォルダでは、デフォルトのパスを変更することができ、ここでは紹介しません
  • jupyterのファイル操作が同時に動作し、フォルダのブラウザインタフェース表面することができ、同時に表示されます、あなたに新しいファイルブラウザインタフェースの下にいるjupyterフォルダを意味し、。あなたが開く必要がある場合は.ipynb、ファイルを、あなたは以下のフォルダ.ipynb jupyterに直接コピーすることができます。もちろん、あなたもクリックすることができUploadますが、jupyterノートブックファイルをアップロードするを選択します
  • クリックLogoutまたはCMDと出口jupyterにブラウザを閉じます

101.jupyterノートブックインタフェースの動作と共通のキーボードショートカット

行く、仕事、おなじみのjupyter操作やショートカットキー、使用IPython自然便利速めることを言ったよう
クリックNew(のpythonがここアナコンダ3は、Pythonインタプリタである)ドロップダウンボックスで、あなたは、Python 3をクリックして作成することができます.ipynbファイル

  • 上記をクリックしUntitled、ファイル名を変更することができます

  • クリックし代码、ドロップダウンボックス、あなたが達成することができますmarkdown変換フォーマットとコードのフォーマットを

  • クリックして、Insertコードの前後に行を挿入するかを選択できます

  • jupyterノートブックは1であり、2つのモードがあります编辑模式によると、Enterコードの行を示し、この時間枠が入力され、このモード绿色は、コード、削除、実行およびその他の操作の内部行をインデントすることができ
    、他のがあると命令模式、編集モードであれば、 Enterキーを押してEscコマンドモードに入り、コードの行を示し、この時間枠蓝色

  • jupyter一般的に使用されるショートカットキー

    • 编辑模式
      • Shift-Enter: 运行本单元,选中下一代码行(若下面没有单元,则新建一个单元)
      • Ctrl-Enter: 运行本单元
      • Alt-Enter: 运行本单元,在下面插入一单元
    • 命令模式
      • 数字1~6: 设定1到6级标题
      • A: 在上方插入新单元
      • B: 在下方插入新单元
      • 连续两下D: 删除选中的单元
      • Shift-K: 扩大选中上方单元
      • Shift-J: 扩大选中下方单元
      • shift-M:合并单元

    更多快捷键等待你的探索

110.IPython 的获取与探索功能

IPython 和 Jupyter 最大的优势之一就是能方便我们搜索函数和文档的功能,帮助我们高效完成工作

  • 使用?来获取文档
    我们传统的获取python文档是使用help()
>>>help(list)
Help on class list in module builtins:

class list(object)
 |  list(iterable=(), /)
 |  
 |  Built-in mutable sequence.
 |  
 |  If no argument is given, the constructor creates a new empty list.
 |  The argument must be an iterable if specified.
 |  
 |  Methods defined here:
 |  
 |  __add__(self, value, /)
 |      Return self+value.
    (………………………………………………………………)

在IPython中我们可以使用list?,显示出的信息更加简明扼要

In[1]:list?
Init signature: list(iterable=(), /)
Docstring:     
Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.
Type:           type
Subclasses:     _HashedSeq, StackSummary, SList, _ImmutableLineList, FormattedText, NodeList, _ExplodedList, Stack, _Accumulator, _ymd, ...

?也同样适应于对象的方法,甚至于对象本身

In [2]: L=[1,2,3]

In [3]: L.append?
Signature: L.append(object, /)
Docstring: Append object to the end of the list.
Type:      builtin_function_or_method

In [4]: L?
Type:        list
String form: [1, 2, 3]
Length:      3
Docstring:
Built-in mutable sequence.

If no argument is given, the constructor creates a new empty list.
The argument must be an iterable if specified.
  • 使用TAB探索模块
    L后面加上.再按Tab键即可看到该对象的所有方法

In [5]: L.
           append() count    insert   reverse
           clear    extend   pop      sort
           copy     index    remove

也可以输入方法的前面几个字母以缩小搜索范围,若只有一个选项满足搜索条件,则Tab自动补全方法

In [6]: L.c
            clear()
            copy()
            count()

同样的道理我们也可以应用在导入模块时

In [9]: import ma
                  macpath    man        math
                  mailbox    markupsafe matplotlib
                  mailcap    marshal

熟练使用Tab自动补全可以有效提高工作效率

111.IPython的魔法命令

IPython的魔法命令显著地将IPython于pyhton区别开来,也彰显了Interactive的内涵
魔法命令分为行魔法(line magic)和单元魔法(cell magic)

  • 行魔法:前缀是一个%,只作用于单行
  • 单元魔法:前缀是%%,作用于整个单元,方便多行输入
    常用的魔法命令有%paste%cpaste%run%timeit

这里我只介绍%timeit,其他魔法命令可以使用%lsmagic?探索
%timeit,它会自动计算接下来一行的 Python 语句的执行时
间。例如,我们可能想了解生成列表所用的时间:

In [10]: %timeit L = [n ** 2 for n in range(1000)]
375 µs ± 3.07 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%timeit 的好处是,它会自动多次执行简短的命令,以获得更稳定的结果。对于多行语句,可以加入第二个 % 符号将其转变成单元魔法,以处理多行输入。例如,下面是 for 循环的同等结构:

In[11]: %%timeit
    ...: L=[]
    ...: for i in range(1000):
    ...:     L.append(i**2)
    ...:
414 µs ± 5.02 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

可以看出使用range()生成列表比用for循环快一些


学习IPython网站:
http://ipython.org
http://github.com/ipython/ipython/wiki/A-gallery-of-interestingIPython-Notebooks/
http://nbviewer.ipython.org

发布了1 篇原创文章 · 获赞 0 · 访问量 41

おすすめ

転載: blog.csdn.net/weixin_43608722/article/details/104297628