<< Chapter < Page Chapter >> Page >
This module contains review questions and answers keyed to the module titled Itse1359-1440-Class Variables.

Table of contents

Preface

This module is one in a collection of modules on Python designed for teaching ITSE 1359 Introduction to Scripting Languages: Python at Austin Community College in Austin, TX.

This module contains review questions and answers keyed to the module titled Itse1359-1440-Class Variables .

Once you study that module, you should be able to answer the review questions in this module.

The questions and the answers in this module are connected by hyperlinks to make it easy for you to navigate from the question to the answer and back again.

(Note to blind and visually impaired students: with the exception of two bitmap images that are used solely as spacers to separate the questionsection from the answer section, all of the material in this module is presented in plain text format and should be accessible using an audio screen reader or abraille display. Note however that the required indentation may not be properly represented by an audio screen reader.)

Questions

Question 1

True or False? The code in Figure 1 produces the output shown in Figure 2 except that the hexadecimal values may change from one run to the next.

Figure 1 . Question 1 program code.
class TestClass(object): classVar = [1,2,3,4]def modifyClassVar01(self,var): self.classVar.append(var)def printClassVar01(self): print(str(self)[10:40]+ ": " + str(self.classVar)) ref01 = TestClass()ref02 = TestClass() ref01.modifyClassVar01("a")ref02.modifyClassVar01("b") ref01.printClassVar01()ref02.printClassVar01()
Figure 2 . Question 1 possible output.
TestClass object at 0x00504910: [1, 2, 3, 4, 'a'] TestClass object at 0x00542710: [1, 2, 3, 4, 'b']

Go to answer 1

Question 2

True or False? The code in Figure 4 produces the output shown in Figure 5 except that the hexadecimal values may change from one run to the next.

Figure 4 . Question 2 program code.
class TestClass(object): classVar = 1234def shadowClassVariable(self): self.classVar = "ABCD"def printClassVar(self): print(str(self)[10:40]+ ": " + str(self.classVar)) ref01 = TestClass()ref02 = TestClass() ref01.printClassVar()ref02.printClassVar() ref01.shadowClassVariable()ref01.printClassVar() ref02.printClassVar()TestClass.classVar = True ref01.printClassVar()ref02.printClassVar()
Figure 5 . Question 2 possible output.
TestClass object at 0x02282710: 1234 TestClass object at 0x022825F0: 1234TestClass object at 0x02282710: ABCD TestClass object at 0x022825F0: 1234TestClass object at 0x02282710: ABCD TestClass object at 0x022825F0: True

Go to answer 2

Figure index

What is the meaning of the following two images?

These images were inserted here simply to insert some space between the questions and the answers to keep them from being visible on the screen at thesame time.

Spacer image of a rabbit and a penguin.

This image was also inserted for the purpose of inserting space between the questions and the answers.

Spacer image of a penguin and some houses.

Answers

Answer 2

True.

Go back to Question 2

Answer 1

False. The actual output is shown in Figure 3 . Modifying a class variable at runtime impacts all of the objects that have been instantiated from that classbecause class variables are shared among all objects instantiated from the class.

Figure 3 . Question 1 actual output.
TestClass object at 0x00504910: [1, 2, 3, 4, 'a', 'b'] TestClass object at 0x00542710: [1, 2, 3, 4, 'a', 'b']

Go back to Question 1

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Itse1359-1440r-Review
  • File: Itse1359-1440r.htm
  • Published: 10/27/14
  • Revised: 03/04/15
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download aPDF file for this module at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, youshould be aware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version ofthe module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale onAmazon.com showing me as the author. I neither receive compensation for those sales nor do I know who does receive compensation. If youpurchase such a book, please be aware that it is a copy of a module that is freely available on cnx.org and that it was made andpublished without my prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask