16.16. Group Work - Classes, constructors, attributes, and methods¶
It is best to use a POGIL approach with the following. In POGIL students work in groups on activities and each member has an assigned role. For more information see https://cspogil.org/Home.
Note
If you work in a group, have only one member of the group fill in the answers on this page. You will be able to share your answers with the group at the bottom of the page.
Learning Objectives
Students will know and be able to do the following.
Content Objectives:
Identify the parts of a class
Explain what a constructor (initializer) is and what it does
Explain what the __str__ method does
Explain the difference(s) between a function and method.
Create new objects and name them
Create new methods
Look the code below. It defines a class. it also declares methods which are functions that are defined inside of a class. One of the methods is automatically called everytime a new object is created by the class. One of the methods is automatically called when you print an object of the class.
16.16.1. A Book Class¶
Run the following code
Look at the class definition. It starts with the keyword class
. Then answer the following questions.
Q-4: Describe in your own words what the __init__
method does.
Q-6: Describe in your own words what the __str__
method does.
class Book: """ Represents a book object """ def __init__(self, title, author): self.title = title self.author = author def __str__(self): return "title: " + self.title + " author: " + self.author def get_author(self): return self.author def main(): b2 = Book("A Wrinkle in Time", "M. L'Engle") print(b2) b1 = Book("Goodnight Moon", "Margaret Wise Brown") print(b1) main()
Q-9: Describe in your own words what is/are the difference(s) between a function and a method.
Put the code blocks in order below to create a class Person
with a
constructor (__init__
) method that takes a first and last name and a
__str__
method to return a string with the first and last name separated
with a space.
Q-12: Describe in your own words what self
means.
16.16.2. Create More Book Objects¶
Change the following main function to create a third book object called b3 with a title of “1984” and author “George Orwell”. Print out the values using the print function in the main.
Change the following main function to add a person object with your first and last name.
16.16.3. Add a Method to a Class¶
Change the following Person class to add an initials
method that returns
a string with the first letter in the first name and the first letter in
the last name in lowercase.
If you worked in a group, you can copy the answers from this page to the other group members. Select the group members below and click the button to share the answers.
The Submit Group button will submit the answer for each each question on this page for each member of your group. It also logs you as the official group submitter.