Menambahkan fungsionalitas ke kelas turunan
Anda baru saja menulis kelas SocialMedia yang mewarisi fungsionalitas dari Document. Saat ini, kelas SocialMedia belum memiliki fungsionalitas yang berbeda dari Document. Dalam latihan ini, Anda akan menambahkan fitur ke SocialMedia agar lebih khusus digunakan untuk data Media Sosial.
Sebagai referensi, definisi Document dapat dilihat di bawah ini.
class Document:
# Initialize a new Document instance
def __init__(self, text):
self.text = text
# Pre tokenize the document with non-public tokenize method
self.tokens = self._tokenize()
# Pre tokenize the document with non-public count_words
self.word_counts = self._count_words()
def _tokenize(self):
return tokenize(self.text)
# Non-public method to tally document's word counts
def _count_words(self):
# Use collections.Counter to count the document's tokens
return Counter(self.tokens)
Latihan ini adalah bagian dari kursus
Prinsip Rekayasa Perangkat Lunak di Python
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Define a SocialMedia class that is a child of the `Document class`
class SocialMedia(Document):
def __init__(self, text):
Document.__init__(self, text)
self.hashtag_counts = self._count_hashtags()
def _count_hashtags(self):
# Filter attribute so only words starting with '#' remain
return ____