こんにちは!
6月3日にEnhancerのメンバーで勉強会をしました!
まだまだ外出も憚られるのでzoomでの開催です。
今回は各自日ごろの勉強で分からないところ、躓いたところを持ち寄ってみんなでそれについて考えました。その中からいくつかをご紹介したいと思います。
モジュールとかパッケージとか
pythonを勉強していると、「モジュール」や「パッケージ」、「ライブラリ」とかいう言葉を目にすることがありますよね。これらの言葉の違い、はっきり分かるでしょうか。曖昧な人もいるのではないかと思います。これを機に、しっかりと理解を深めましょう。
まず、pythonでは、関数やクラスなどをまとめて書いたものをモジュールといいます。拡張子が「.py」のものはモジュールだと思っていいでしょう。
次に、パッケージとは、それらのモジュールの集合体のことを指します。いくつものファイルが集まっているイメージですね。
また、これらのパッケージをまとめてインストールできるようにしたものを、ライブラリと呼びます。パッケージのさらにまとまりのことですね。
pythonのライブラリには、pythonにもともと備わっているライブラリと、必要な時にインストールするライブラリの二種類があります。また、前者を標準ライブラリと呼びます。
import文
pythonを学習していると、from~~import~~という文を書くことが多いと思います。このコードによって、他の所にあるモジュールや関数を読み込むことができます。
from–import~~というコードでは、–でモジュールを、~~で関数を読み込むことができます。そしてこのimport文によって、そのあとの関数の呼び出し方に違いが出てきます。ここでは、randomモジュールとその中のrandint()関数を例にして見てみましょう。randint()関数は、指定した範囲の中でランダムな整数を返す関数です。
from(モジュール)import(関数)とすると、読み込んだ関数をそのまま使うことができます。
>>> from random import randint
>>> s=randint(1,100)
>>> print(s)
40
一方で、import(モジュール)とだけにすると、そのモジュールに含まれる関数を呼び出すときに、モジュール名.関数とする必要があります。
>>> import random
>>> s=random.randint(1,100)
>>> print(s)
48
このように、import文の書き方によってそのあとの関数の呼び出し方が変わるので注意しましょう。
関数とメソッド
「関数」と「メソッド」って、同じような働きをするのにどう呼び分けているんだろう、って思いませんか。ここではその違いについてみていきましょう。
関数とメソッドは、ずばりその使い方に違いがあります。
単独で使うことができるものが関数、文字や値につけて使うものがメソッドです。
例えばprint()などは単独で使うことができますが、append()はリストの後につけることで初めて使うことができます。
ちなみに、メソッドはリスト型や文字列型などのデータ型によって使えるものが決まっています。先ほどのappend()はリスト型には使えますが、辞書型のものに用いることはできません。しかし、pop()などのように、リスト型と辞書型の両方に使うことができるメソッドもあります。
終わりに
少し短いですが、今回はこれぐらいにしたいと思います。
意外と区別が難しい言葉、理解できたでしょうか。
これからも私たちの勉強会で出た話題はどんどん記事にしていきます。皆さんの疑問もここで解決されるかもしれませんね。
ではまた(^^)/