MicroPython メモ 16 / クラスを使ったモジュールを作る / それに意味のないとき

参考: Programming the BBC micro:bit: Getting Started with MicroPython, p.80-83
 
(たとえば display.scroll("hello、world") は、display というインスタンスの親である何らかのクラスに属している scroll() メソッドを実行するコマンドである)
 

  • 下のモジュールを作って sute.py という名前で保存する。クラスの定義のしかたを確認しているだけであって、意味はない。
    • class クラス名: でクラスを定義する。
    • def __init__(): で初期化する。
    • private メソッドは def __メソッド名(): で定義する。
    • private メソッドを呼ぶときは self.__メソッド名() で呼ぶ。
    • すべてのメソッドに self 引数が必要である。
class Sute:
    def __init__(self, func, start, end, delta = 0.125):
        self.func  = func
        self.start = start
        self.end   = end
        self.delta = delta

    def __incre(self, n):
        return self.start + n

    def calc(self):
        while self.start <= self.end:
            print(self.start, self.func(self.start))
            self.start = self.__incre(self.delta)

  

  • 下の本体プログラムを micro:bit にアップロードし、先に PC に保存しておいた sute.py を micro:bit にコピーする。
from sute import *

def jijo(x):
    return x**2

def bai(x):
    return x*2

s1 = Sute(jijo, 0, 5, 1) # instantiate one
s2 = Sute(bai, 0, 0.5) # instantiate another

s1.calc()
s2.calc()

 

  • 実行結果

f:id:ti-nspire:20171225114933p:plain