FAQ: Learn Python: Classes - Class Variables

This community-built FAQ covers the “Class Variables” exercise from the lesson “Learn Python: Classes”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Computer Science

FAQs on the exercise Class Variables

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

3 posts were split to a new topic: Why doesn’t my code work?

A post was split to a new topic: How does python know data types exist in other classes?

If a class variable is something that stays the same for every instance of that class, why do we call it a variable?

A few lessons later user “stellakats” will post this:

I had the same question until I realised I confuse a “class variable” with an “instance variable”. They are not the same thing:
CLASS VARIABLES:
A class variable needs the "creating a variable step " as you call it, in the intended block of the Class. If it is called later by any object using the syntax object.variable, it will yield the same data for every instance/object of the class.
INSTANCE VARIABLES:
Although an instance variable uses the same attribute notation used for accessing class variables (object.variable ) it does so in order to assign data to the object. The data now is not shared by all instances of the class, they re specific to the object they are attached to.

Codecademy should rewrite this exercise.

The answer to it is…

class Grade:

minimum_passing = 65

I thought the next page would extend this scenario but it didn’t? What was the point of typing in minimum_passing = 65. How is that related to the example of Class Variable? Who missed the rest of the problem?

1 Like

no two items in the list this code creates contains the same exact data (run this code, it’ll take a few seconds to finish loading, scroll to the top of the output terminal, highlight the first list item, then push control-f, it should say there is only one of that in the output)
this creates 65340 list items
code:

class LFSR:
  def __init__(data, tap = [0, 1], registerStart = [0, 0, 0, 0, 0, 0, 0, 1]):
    data.register = registerStart
    data.taps = tap
  def shift(data):
    shiftIn = 0
    def sh():
      i = 0
      while i < (len(data.register) - 1):
        data.register[i] = data.register[i + 1]
        i += 1
      data.register[len(data.register) - 1] = shiftIn
    def get_taps():
      i = 1
      accu = data.register[data.taps[0]]
      while i < len(data.taps):
        accu -= data.register[data.taps[i]]
        if accu != 0:
          accu = accu / accu
        accu = round(accu)
        i += 1
      return accu
    shiftIn = get_taps()
    sh()
  def get(data):
    return data.register
lfsr1 = LFSR(tap = [0, 1, 3, 4, 5], registerStart = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1])
for it in range(0xff3b):
  print(lfsr1.get())
  lfsr1.shift()
print(lfsr1.get())