Тому я йшов, хоча 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
модуль