ホーム     戻る
第13章 モジュール

抱けば君のなかに菜の花灯りけり

               河原枇杷男

松の花かくれてきみと暮らす夢

               渡辺白泉

次の世は茄子でもよし君と逢わん

               折笠美秋

モジュール:定義した関数を再利用したい場合、その関数を切り出して、別のファイルに整理。他の
        スクリプトからその関数を呼び出して利用する。このファイルに整理したものがモジュー
       ル。
標準ライブラリにモジュールが収められている。モジュールは内部に定義した関数や
       変数を外部から利用するもの
。(上平哲・即効パイソン・秀和システムp159)
モジュール
プログラムのコードやデータの集合のこと:最上位の構成単位:プログラムのファイル:
       名前が.py拡張子で終わるpythonのプログラムファイルはすべてモジュール:様々なツ
       ールのあつまりライブラリ:pythonプログラムで利用できる「名前」(名前空間)という側
       面もある。
モジュール:oopの抽象概念:imprtして使用するメソッドの集まり。
モジュール:pythonは言語の中心部分を小さくし、残りの機能をミジュールとして提供する。
モジュール:独立した一つの処理を行う2入り口も出口もひとつ3外から内部がみえない4データの伝
       達方法をわかりやすく5正しさの検証6設計・製作が容易

名前:属性とも呼ばれる。:特定のモジュール(オブジェクト)に属する変数の名前
import:モジュール全体をインポートするための文:起動方法の一種:他のファイルをロードしそのファイルにアクセスする権限を得る操作:pythonプログラムの基礎:

(1)モジュールを作る

title ='The Meaning of Mylife'
myfile.pyとして保存

>>> import myfile             モジュール全体のロード
>>> print myfile.title       
myfileモジュール.tiltle属性名


The Meaning of Mylife
>>>

from:モジュールの特定の「名前」(名前空間)だけをインポートする文:インポート対象のファイルの中のどの属性にアクセスするか指定できる。モジュール属性がコピーされると、その後は普通の変数のように利用できる。

>>> from myfile import title
>>> print title
The Meaning of Mylife
>>>

>>> title            普通の変数のように利用
'The Meaning of Mylife'
>>>

(2)さらにモジュールについて

モジュール:クラスは実体(データ)と振舞い(処理)を持った「もの」を処理する。モジュールは処理の部分だけをまとめるもの。
モジュールはインスタンスを持つことができない。モジュールは継承できない。
モジュールの提供するメソッドは「モジュール名。メソッド名」という形式で参照。
モジュールとは
モジュールの使い方:名前空間の提供
モジュールを作る:定数、メソッドの定義、
(たのしいruby・高橋征義著・ソフトバンククリエイト)

mathモジュール                                   モジュールを使う

>>> import math                  モジュールは名前がついたオブジ
                            ェクト:インポートする
>>> 10*20*math.sin(math.radians(45))/2   モジュールは変数のように使う
70.710678118654741
fromを使う。

>>> from math import sin ,radians      モジュール名mathを省略
>>> 10*20*sin(radians(45))/2         
70.710678118654741

import sys                  モジュールを使う

a=1
b='spam string'

def foo():
    print "this is function 'foo'"

print "this is top level"

if __name__=='main__':           このif文でinport時に実行されない
        print "this is code block"    
print文 

this is top level               実行

>>> print a
1
>>> print b
spam string
>>> print foo()
this is function 'foo'
None
>>> sys.argv

['C:/Python25/testmojule.py']

datetimeモジュール

ある日とある日の間の日数を求める

>>> import datetime                モジュールを使う
>>> a=datetime.datetime(2008,4,29)
>>> b=datetime.datetime(2007,1,31)

>>> a-b
datetime.timedelta(454)              実行結果
>>>

今日の日付けを求める

>> import datetime                モジュールを使う


>>> datetime.datetime.today()
datetime.datetime(2008, 8, 15, 17, 18, 15, 984000)  実行結果

 曜日を求める
>>> import datetime
>>> a=datetime.datetime(2007,1,1)
>>> a
datetime.datetime(2007, 1, 1, 0, 0)
>>> a.weekday()
0                            実行結果月曜
                             
月曜0・・・6日曜
>>> 

(3)モジュールのまとめ

標準ライブラリー:モジュール:プログラムで使う関数のような部品を利用目的によって分類する仕組み:サブルーチン・プロシージャー
プログラミングの4ッ目の基本制御構造(順次実行、ループ、分岐に続く)
組み込みモジュールを使う。自分の作ったモジュールを組み込む。

import文を使いモジュールを読み込む
mathモジュールをinportして高度な演算を行う。

>>> import math
>>> 10*20*math.sin(math.radians(45))/2
70.710678118654741

pythonの標準モジュール

sys
os
string
math
times

自分で作った関数をほかのプログラムのなかで使う方法がモジュール
pythonの文を記述したテキストファイルがそのままモジュール

基本的な関数は組み込みライブラリー提供している。自分で関数を書き起こす前にドキュメントを調べる。

関数の戻り値

turnキーワードを使う。

 def ispositive(v):
     if v>=0 :
     return 1                   関数に戻り値を持たす
     else:
     return 0

 >>> x=input('値を入力して下さい。')
値を入力して下さい。7
>>> if ispositive(x):
         print x,'正の値である。'
 7 正の値である。           −7を入力すると、何も表示されない。

 

ホーム     戻る