【備忘録】Pythonのimportが上手くいかない

a computer screen with a bunch of code on it

Pythonでは以下のようなインポートの書き方がエラーになります。

rensyuパッケージに属するCar.py

class Car:
  def __init__(self, seats, max_speed):
    self.seats = seats
    self.max_speed = max_speed

  def spec(self):
    print('Seats: ' + str(self.seats) + ', Max speed: ' + str(self.max_speed))

上記のコードに対する呼出し文は下記になります。

import rensyu.Carcar1 = Car(4, 100)car1.spec();

上記がエラーになる理由としては、モジュール名のみしか書いていないからです。つまり、car1 = rensyu.Car.Car(4, 100)と呼び出すと、呼出しは成功します。

しかし、この書き方はちょっと長いですよね。そこで、from文を使った良い方法が下記になります。

from chapter07.Car import Car
  car1 = Car(4, 100);
  car1.spec();

こっちのほうがキレイに書けますね。このあたりはJavaの感覚で覚えていると間違えてしまいそうになるので、気を付けましょう。

以上になります。

投稿者 SmokyDog

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です