import pandas as pd
class main_class:
def __init__(self,data_frame):
self.data_frame = data_frame
def read_csv(self):
data_frame = pd.read_csv("outputfile.csv")
return data_frame
inc = main_class
print(inc.read_csv)
Uruchamiając ten kod, wystąpił błąd metody niezwiązanej
Odpowiedzi:
0 dla odpowiedzi № 1To, co widzisz, nie jest błędem, to opis funkcji.
Istnieje kilka problemów z tym kodem.
Drukujesz funkcję zamiast wartości zwracanej przez funkcję. Innymi słowy, nigdy nie wywołujesz funkcji.
Nigdy nie tworzysz wystąpienia
main_class
.
Aby rozwiązać powyższe dwa problemy, musisz dodać ()
:
inc = main_class()
# ^
print(inc.read_csv())
# ^
Teraz dostaniesz TypeError
błąd, ponieważ main_class.__init__
wymaga kłótni.
main_class.__init__
przyjmuje argument i przechowuje go wself.data_frame
które nie jest nigdzie używane.data_frame
wread_csv
nie jest związany zself.data_frame
.Na marginesie lepiej jest, aby klasy w podklasie języka Python 2
object
:class main_class(object): ...
W dolnej linii możesz przeczytać samouczek języka Python, aby ponownie zobaczyć, jak działają podstawowe idee klas i metod.