[OK]を、しかしは、ここに私の推測です。
import fig
class Circle(Fig):
def __init__(self, radius):
self.name= "Circle"
self.data= ["Radius: ", radius]
を次のようにあなたのcircle.py
ファイルがある場合はPythonはどこFig
を見つけるために知っていないので、これが解除されます。代わりにあなたが
import fig
class Circle(fig.Fig):
def __init__(self, radius):
self.name= "Circle"
self.data= ["Radius: ", radius]
または
を記述する場合
from fig import Fig
class Circle(fig):
def __init__(self, radius):
self.name= "Circle"
self.data= ["Radius: ", radius]
すべてが正常に動作する必要があります。これは、Pythonにクラスにアクセスするための名前空間(私の最初の解決策)か、明示的にクラスをインポートする(私の2番目の解決策)かのどちらかを伝える必要があるからです。
import fig
class Circle(fig.Fig):
def __init__(self, radius):
self.name= "Circle"
self.data= ["Radius: ", radius]
#use PI from fig.py by informing python of namespace
self.circumference = 2.*fig.PI*radius
または
from fig import Fig, PI
class Circle(fig):
def __init__(self, radius):
self.name= "Circle"
self.data= ["Radius: ", radius]
#PI is now explicitly imported so don't need namespace
self.circumference = 2.*PI*radius
両方のオプションの継承は機能しますが、最初の2行は機能しません。I *が円を描く場合* PIは定義されていません。両方を実行すると、* SyntaxError:構文が無効です*。 – D1X