私はPythonには新しく、ファイルとコンストラクタのリンクに問題があります。Pythonの名前が定義されていません。ファイルをリンクする
まず、pressao.pyを列挙型で作成し、それをsensor.pyで使用しようとしましたが動作しません。 sensor.pyにpressao.pyコードを入力しても機能します。だから間違いは輸入にあるのだろうか?それを見つけることができません:(
インスタンス化に関しては、コンストラクタは引数をとりませんが、私は、コンストラクタを定義し、スペルをチェックしましたと言う:。!((
事前に感謝
コードについて以下sensor.py:
from enum import Enum
import pressao
# When I uncomment this section below, code works. That's all the code in pressao.py copy-pasted.
"""class Pressao(Enum):
NORMAL = 0
BAIXA = 1
ALTA = 2"""
class Sensor:
"""Classe responsavel pela definicao dos sensores.
Atributos:
int bmp
bool movimento
Pressao pressao"""
def __init__(self, bmp, movimento, pressao):
self.bmp = int(bmp)
self.movimento = bool(movimento)
self.pressao = pressao
a = Sensor()
#Says object takes no parameters in python3 and constructor takes no arguments in python 2
#Third argument should be of type enum Pressao, but I'm testing with string first
foo = Sensor(100, True, "bar")
a.bmp = 100
print(a.bmp)
#Says Pressao is not defined. However, if I uncomment the code above, it does work.
a.pressao = Pressao.NORMAL
print(a.pressao)
偶然、あなたは循環輸入していますか? (インポートaとインポートbをインポートします) –
いいえ、両方のファイルにインポートしますEnum – Jkasnese