ウェブサイト検索

Python を電卓として使用する必要がある理由 (およびその開始方法)


まとめ

  • 電卓アプリや手持ち電卓は扱いにくいですが、Python の対話モードでは以前の結果を簡単に呼び出して計算できます。スクロールして入力を検索することもできます。
  • Python は、携帯用電卓と同様の基本的な算術関数を提供します。
  • Python は、math、NumPy、SciPy、SymPy などの高度なライブラリを利用して、基本的な算術演算を超えたより複雑な数学演算を行うことができます。

Python プログラマーの間でよく言われるジョークは、対話モードが卓上計算機として最適に機能するというものです。これが現実に近い理由は次のとおりです。

電卓には設計上の欠陥がある

手持ち式の電卓を使用している場合、基本的なモデルを使用している場合は、イライラすることに気付いたかもしれません。新しい計算で使用するときに以前の結果を思い出すのは難しいです。

一部の電卓では後で呼び出すために数値をメモリに保存できますが、その仕組みを知っておく必要があります。そしてそれはマニュアルを読むことを意味します。説明書は保存してありますよね?もちろん、マニュアルは通常オンラインで見つけることができます。 TI や Casio のユーザーにとってはこれで十分かもしれませんが、ハードウェア電卓の多く、少なくとも現在購入できる電卓はジェネリック メーカー製です。頑張って指示を見つけてください!

携帯電話やコンピュータの電卓アプリはそれほど優れたものではありません。これらのプログラムの主な問題は、自分自身を携帯用電卓のように見せて動作させようとしていることです。ユーザー インターフェイスのデザイナーの間では、これは「スキューモーフィズム」として知られています。ソフトウェア電卓はボタンを手動でクリックする必要があるため、使いにくいと感じます。

数学または科学のコースを受講している場合、おそらく試験では携帯用電卓の使用のみが許可されます。自分でやる場合は、Python などを使用する方が良いでしょう。

Python の対話モードは使いやすい

Python はプログラミングを目的としていますが、ハンドヘルド電卓やソフトウェア電卓に関する多くの問題を解決できます。

Python をインストールし、システムのメニューからインタープリタを呼び出すか、コマンド ラインで「python」と入力すると、Python の標準算術関数をすべて入力して Enter キーを押して実行するだけで使用できるようになります。プロンプトで:

        2 + 2
5 * 3
45 - 30
720 / 5
    

演算子は、加算と減算の + と -、乗算と除算の * と/など、使用したことのある他の計算機と同様に機能します。

標準の Python インタープリタは GNU Readline ライブラリを使用しており、以前に入力した内容を簡単に思い出すことができます。上下の矢印キーを使用すると、入力中に上下に移動できます。 Ctrl+r (小文字の r) を押して入力を検索することもできます。次に、入力を開始して、前に入力した内容を見つけます。矢印キーを使用して入力を上下に移動できます

_ (アンダースコア) 変数には、前の結果が保存されます。これを新しい計算に使用できます。たとえば、前の数値に別の数値を掛けます。

        
_ * 42.
    

またはそれを二乗するには:

        
_**2
    

iPython をインストールして、さらに強力な対話型操作を行うこともできます。 Python の使用が終了したら、exit() と入力するか、Linux または macOS で Ctrl+D を押すか、Windows で Ctrl+Z を押してセッションを終了します (Windows サブシステムで Python を実行している場合を除く)。 Linux (他の Unix 系システムと同様に Ctrl+D を使用します)。ただし、おそらく開いたままにした方がよいでしょう。いつ計算をしたくなるかわかりませんし、Python を学ぶ絶好の口実になります。

強力なライブラリを活用してより高度な数学を実現

Python は単純な計算には最適ですが、適切なライブラリを使用するとさらに多くのことが可能になります。

組み込みの数学ライブラリにより、Python が関数電卓に変わります。 import 関数を使用してその機能にアクセスできます。

        
import math
    

円周率の近似値が必要だとします。数学ライブラリで入手できます。

        
math.pi
    

数学ライブラリには三角関数もあります。 45 度の正弦を求めたいとします。三角関数はラジアン単位の角度を想定していますが、数学ライブラリには 2 つの角度を変換する関数もあります。角度をラジアンに変換するには:

        
math.radians(45)
    

この結果の正弦を計算するには、次のようにします。

math.sin(_)

関数の引数をより少ない行数で連鎖させることができます。

        
math.sin(radians(45))
    

さらに高度な計算を行う必要がある場合は、他にも多くのライブラリをインストールできます。 NumPy、SciPy、SymPy などのこれらのライブラリを使用すると、統計から微積分、線形代数、微分方程式まで、あらゆるものに取り組むことができます。これらのライブラリの利点は、無料でオープンソースであることです。これが、Python が科学計算に選ばれる言語になりつつある理由であり、Python 言語を学習するもう 1 つの理由です。

良い例は、コンピューター代数システムである SymPy です。コンピューター代数システムは、電卓が数値計算を処理するのと同じように、記号数学を処理します。

2 つの主な違いは、平方根などの処理方法です。数学ライブラリの sqrt 関数を使用して 2 の平方根を求めると、これは完全な平方ではなく無理数であるため、浮動小数点近似が得られます。

SymPy で平方根を計算すると、平方根ではない平方根が教科書で表示されるのと同じように出力されます。また、完全な正方形も自動的に除外されます。

以下は、対話型セッション向けに SymPy に付属している特別な対話型インタープリタです。数学ライブラリと SymPy の平方根演算を示しています。後者には平方根記号もあることに注目してください。

SymPy はさらに強力で、方程式を解き、関数の導関数や積分を計算できます。これらのライブラリはすべて、利用するための強力なツールです。 SageMath は、Mathematica、Maple、MATLAB と競合することを目的とした Python ベースの本格的な環境です。

これらの主題を学習している場合、Python を使用すると、計算ではなく問題に集中できます。