Методи в python - python, nltk

Тому я йшов, хоча nltk і побачив цей код

entities = nltk.chunk.ne_chunk(tagged)

Тепер моє питання полягає в тому, як ви, люди, знаєте, який метод використовувати, коли і який порядок викликів методу?

Ще один дивний код я бачив

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

Тепер як би це було інтерпретувати .words слідує .words? Чому ми двічі називаємо слово "метод" і як я знаю, коли мені потрібно двічі викликати метод?

Я тільки що закінчив "Udacity - Intro to CS (з Python)", але це "nltk" стає занадто заплутаним. Будь ласка, допоможіть, боролися, щоб отримати логіку всіх цих з пари днів.

Відповіді:

8 для відповіді № 1

Ти не дзвониш words двічі Ви телефонуєте words метод words модуль Це все про простір і модулі імен. Дізнайтеся більше про Python модулі.

:)


3 для відповіді № 2

The . символ у Python не тільки для доступу до методів. Він позначає доступ до атрибута в деякому об'єкті. Що саме це означає, може залежати від того, що таке об'єкт.

У ваших прикладах nltk.chunk і nltk.corpus.words обидва імена модулів. nltk це package який є спеціальним видом модуля, який може містити інші модулі. Так і є nltk.corpus. (І насправді nltk.chunk це також пакет, але ви використовуєте його як звичайний модуль, а не доступ до іншого модуля в ньому.)

В nltk.chunk.ne_chunk(tagged), то точки доступу до chunk атрибут в nltk модуль, потім - ne_chunk атрибут всередині nltk.chunk модуль Це відбувається як функція, яка називається.

В nltk.corpus.words.words("en"), третя точка шукає words атрибут всередині nltk.corpus.words модуль