/ / Metody w python - python, nltk

Metody w python - python, nltk

Więc szedłem nltk i zobaczyłem ten kod

entities = nltk.chunk.ne_chunk(tagged)

Teraz moje pytanie brzmi, w jaki sposób ludzie wiedzą, którą metodę zastosować, kiedy i jaka jest kolejność wywołań metod?

Kolejny dziwny kod, który widziałem, był

nltk.corpus.words.words("en")

Teraz, jak można by interpretować .words śledzony przez .words? Dlaczego dwa razy tutaj wywoływaliśmy metodę słów i skąd wiadomo, że muszę dwukrotnie wywołać metodę?

Właśnie skończyłem "Udacity - Intro. Do CS (z Pythonem)", ale ten "nltk" robi się zbyt mylący. Pomóżcie, od kilku dni starają się uzyskać logikę tych wszystkich rzeczy.

Odpowiedzi:

8 dla odpowiedzi № 1

Nie dzwonisz words dwa razy. Dzwonisz do words metoda words moduł. Wszystko zależy od przestrzeni nazw i modułów. Przeczytaj więcej o Pythonie moduły.

:)


3 dla odpowiedzi № 2

The . znak w Pythonie to nie tylko dostęp do metod. Oznacza on dostęp do atrybutów w niektórych obiektach. Co dokładnie to oznacza, może zależeć od tego, czym jest obiekt.

W Twoich przykładach nltk.chunk i nltk.corpus.words są to nazwy modułów. nltk jest package który jest specjalnym rodzajem modułu, który może zawierać inne moduły. Więc jest nltk.corpus. (I faktycznie, nltk.chunk jest także pakietem, ale używasz go jako zwykłego modułu, zamiast dostępu do innego modułu w nim).

W nltk.chunk.ne_chunk(tagged), kropki dostęp do chunk atrybut w nltk moduł, a następnie ne_chunk atrybut w nltk.chunk moduł. Taka jest funkcja, która zostaje wywołana.

W nltk.corpus.words.words("en"), trzecia kropka wyszukuje words atrybut w nltk.corpus.words moduł.