Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
    1. 変数への代入と表示
    2. リテラル値や変数の型
    3. 算術演算子
    4. 高機能電卓として使ってみる
    5. 代入演算子
    6. 標準モジュールを利用しよう
    7. カーネルを理解しよう
    8. 文字列
    9. キーボードからの入力を受付けよう
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

Python の基礎

標準モジュールを利用しよう

モジュールのインポート

標準モジュールのひとつである math モジュールをインポートすれば,数学関数を利用できる.なお,インポートは通常はプログラムの先頭で一度だけ実行すれば良い.

まだモジュールをインポートしていないので,エラーになるはず.

平方根1math.sqrt(9)
------------------------------------------------------------
NameError                Traceback (most recent call last)
<ipython-input-26-ff819a2ef42d> in <module>()
----> 1 math.sqrt(9)

NameError: name 'math' is not defined

プログラムの先頭でインポートする

インポートimport math
(何も表示されない)

今度は平方根が計算された.このとき,モジュール名.関数名モジュール名.定数名 という表記で呼び出すことに注意しよう.

平方根2math.sqrt(9)
3.0

mathモジュールには様々な関数や定数が定義されている.

円周率やネイピア数(自然対数の底)の定数は次の通り.

円周率math.pi
3.141592653589793
ネイピア数math.e
2.718281828459045

対数,指数,べき乗は次の通り.なお,べき乗は実数乗も可能です.

対数関数:2 の 10乗 は 1024math.log(1024, 2)
10.0
指数関数math.exp(1)
2.718281828459045
3 の 2.5 乗math.pow(3, 2.5)
15.588457268119896

三角関数もあります.

三角関数math.sin(0)
0.0
三角関数math.sin(3.1415/2)
0.999999998926914
三角関数math.sin(math.pi/2)
1.0

切り上げて整数を返す ceil 関数や,切り捨てて整数を返す floor 関数もあります.いずれも負の値を与えた時にどのような結果が得られるか注意してください.

切り上げmath.ceil(3.14)
4
切り上げmath.ceil(-3.14)
-3
切り捨てmath.floor(3.14)
3
切り捨てmath.floor(-3.14)
-4

最大公約数 (greatest common divisor) を求める関数 math.gcd() もあります.なお,素因数分解すると \(576 = 2^6 \times 3^2\) と \(704 = 2^6 \times 11^1\) であることから,576 と 704 の最大公約数は \(2^6 = 64\) です.

math.gcd(576, 704)
64

最小公倍数 (least common multiple) の関数 math.lcm() は Python 3.9 で使えるようになりました.なお, \(576 = 2^6 \times 3^2\) と \(704 = 2^6 \times 11^1\) の最小公倍数は \(2^6 \times 3^2 \times 11^1 = 6336\) です.

math.lcm(576, 704)
6336

目次に戻る

from によるインポート

たとえば math モジュールの中にある gcd 関数しか使用しないのであれば,from を使って次のようにインポートすることも可能です.この場合は,モジュール名. を付ける必要がなくなります.

from math import gcd
gcd(576, 704)
64

また,ここで使っているようにfrom モジュール名 import * と記述すれば,すべての関数をインポートできます.(ただし,この読み込みの方法は,読み込んだモジュール内で使われている名前と自身のプログラム内で使っている名前が衝突して思わぬバグになる可能性があるので使用には注意が必要(非推奨)です.)

目次に戻る

as による略称

モジュール名が長いような場合には,as を使って略称を定義して,略称で関数を呼び出すことができます.例えば,numpy モジュールを省略せずに使うと次のようになります.

import numpy
print(numpy.array([1, 2, 3, 4]))
[1 2 3 4]

しかしながら,as を使うと numpynp という略称で使えます.多くの場合,NumPy には npPandas には pd,TensorFlow には tf の略称が用いられます.

import numpy as np
print(np.array([1, 2, 3, 4]))
[1 2 3 4]

目次に戻る