Je suis novice en python et j'ai des problèmes pour lier des fichiers et avec le constructeur. D'abord, j'ai essayé d'écrire pressao.py avec une énumération et de l'utiliser sur sensor.py, ce qui ne fonctionne pas. Si je tape le code pressao.py dans sensor.py, cela fonctionne. Donc, l'erreur est à l'importation? Peut trouver pas :(Le nom Python n'est pas défini. Liaison de fichiers
En ce qui concerne l'instanciation, il dit constructeur ne prend aucun argument, mais je l'ai défini un constructeur et vérifié l'orthographe. ((
Merci à l'avance
Code pour! sensor.py ci-dessous.
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)
Avez-vous par accident une importation circulaire? (Fichier a importe b et b importe a.) –
Non, mais sur les deux fichiers J'importe Enum – Jkasnese