【Python】関数の使い方が思い出せなければdocstringを確認すればいい【__doc__】

【Python】関数の使い方が思い出せなければdocstringを確認すればいい【__doc__】

はじめに

コジマです。

Pythonで使いたい関数のdocstringを見る方法を紹介する記事です。

docstringとは

簡単に言うと、javadocやperldocなんかのPython版。
モジュールや関数の使い方が書いてある。

この記事ではdocstring自体には深入りしないです。

実際に見てみる

見方は超簡単

モジュール名や関数名の後ろに.__doc__とつけてprintするだけ。

numpyモジュールのdocstringを見てみましょう。
docstringにはnumpyスタイルと言うものがあるくらいなので、例にちょうどいいかと思いました。

import numpy as np

print(np.__doc__)

そうするとこんな感じでべろーーーっと出てきます。これがdocstringです。

NumPy
=====

Provides
  1. An array object of arbitrary homogeneous items
  2. Fast mathematical operations over arrays
  3. Linear Algebra, Fourier Transforms, Random Number Generation

(省略)

Copies vs. in-place operation
-----------------------------
Most of the functions in `numpy` return a copy of the array argument
(e.g., `np.sort`).  In-place versions of these functions are often
available as array methods, i.e. ``x = np.array([1,2,3]); x.sort()``.
Exceptions to this rule are documented.

np.arrayメソッドのdocstringも見てましょう。

import numpy as np

print(np.array.__doc__)
array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

    Create an array.

    Parameters
    ----------
(省略)

    Examples
    --------
    >>> np.array([1, 2, 3])
    array([1, 2, 3])

    Upcasting:

    >>> np.array([1, 2, 3.0])
    array([ 1.,  2.,  3.])

(省略)

このように関数の使い方が記載されています。

docstringは自作の関数に対して自分で書くこともできるので、それはまた別の機会に。

さいごに

docstringを表示する方法について書きました。

  • モジュールについて深く知りたい
  • 関数の使い方を思い出したい

なんて場合に非常に便利です。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

もっと学びたい人はこちら

Python、機械学習をもっと学びたいという人のためにおすすめのUdemy講座を紹介いたします!

Pythonの基本文法を押さえたい方はこちらの動画がおすすめです。
エンジニアになりたいと思って駆け出した方がPythonを選んだときはこの講座から始めるとよいと思います。
Python 3 エンジニア認定基礎試験の対策にもなります。
はじめてのPython 少しずつ丁寧に学ぶプログラミング言語Python3のエッセンス

プログラムの基礎が分かる方で機械学習に興味がある方はこちらがおすすめです。
SIGNATEという日本版Kaggleのサービスを実際に使用してハンズオン形式でデータ分析・機械学習を学ぶことができます。
もちろんこの動画だけで特級のデータサイエンティストになれるわけではないですが、機械学習の門を叩くにはとても良い講座だと思います。
【ゼロから始めるデータ分析】 ビジネスケースで学ぶPythonデータサイエンス入門

Pythonのライブラリで必ず押さえておきたいのがNumpy, Pandas, Matplotlibの3つ。
この3つを網羅的に学ぶことができる講座です。
英語の講座ですが、わかりやすい英語ですし、ソースコードメインで解説しているので
ソースコードを一緒に手を動かしながら学べば十分理解することができます。
機械学習を使わない人にもおすすめの講座です。
2021 NumPy, Pandas and Matplotlib A-Z™: for Machine Learning

気になった人はぜひ見てみてくださいね!

以上、コジマでした。


Pythonカテゴリの最新記事