J'ai une classe et un script Python qui appelle des fonctions de la classe. La classe s'appelle User_Input_Test. Le script s'appelle input_test.py. input_test.py demandera l'entrée de l'utilisateur par ...

0
Mich 17 mars 2021 à 01:53

1 réponse

Meilleure réponse

User_Input_Test.show_output() essaie d'appeler show_output sur la classe elle-même; vous devez l'appeler sur l'instance renvoyée par User_Input_Test.get_user_input().

from User_Input_Test import User_Input_Test
import time

print("This little application collects data about your car")
print("Please fill out the following questionnaire:")
uname = input("What is your first name?:")
car = User_Input_Test.get_user_input()

print(f"{uname}, these are your car's attributes: ")
time.sleep(2)

car.show_output()

Remarque: consultez PEP 8, le guide de style Python, notamment la dénomination conventions pour les modules et les classes. Dans ce cas, je nommerais le module car et la classe Car pour plus de clarté et un meilleur style. De plus, l'argument d'un classmethod est généralement nommé cls, car self est traditionnellement réservé à l'instance dans les méthodes normales.

1
SuperStormer 16 mars 2021 à 22:58