<< Chapter < Page | Chapter >> Page > |
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.)
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
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
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.
This image was also inserted for the purpose of inserting space between the questions and the answers.
True.
Go back to Question 2
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
This section contains a variety of miscellaneous information.
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-
Notification Switch
Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?