Используем дочерний класс
Благодаря механизму наследования вы смогли создать функциональный класс SocialMedia на основе родительского класса Document. Давайте посмотрим эти возможности в действии.
Ниже приведено полное определение класса SocialMedia для справки. Кроме того, SocialMedia уже добавлен в __init__.py для удобства использования.
class SocialMedia(Document):
def __init__(self, text):
Document.__init__(self, text)
self.hashtag_counts = self._count_hashtags()
self.mention_counts = self._count_mentions()
def _count_hashtags(self):
# Filter attribute so only words starting with '#' remain
return filter_word_counts(self.word_counts, first_char='#')
def _count_mentions(self):
# Filter attribute so only words starting with '@' remain
return filter_word_counts(self.word_counts, first_char='@')
Это упражнение является частью курса
Принципы разработки программного обеспечения на Python
Инструкции к упражнению
- Импортируйте (
import) пользовательский пакетtext_analyzer. - Определите
dc_tweetsкак экземпляр классаSocialMedia, передав предварительно загруженный объектdatacamp_tweetsв качестве аргументаtext. - С помощью
printвыведите5наиболее часто встречающихся (most_common) упомянутых пользователей, используя соответствующий атрибут объектаdc_tweets. - Используйте метод
plot_counter()из пакетаtext_analyzer, чтобы построить график наиболее часто используемых хэштегов, обратившись к соответствующему атрибуту объектаdc_tweets.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import custom text_analyzer package
import ____
# Create a SocialMedia instance with datacamp_tweets
dc_tweets = ____(text=datacamp_tweets)
# Print the top five most mentioned users
print(dc_tweets.____.most_common(5))
# Plot the most used hashtags
text_analyzer.____(dc_tweets.____)