Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
classes
#1
So I am learning classes in python and I stumbled across something that did not make sense to me.
In the code below, when I change the name of the student via calling the method changeName passing the new parameters (forename and surname), why doesn't it reflect the changes when I print the attribute fullname?

class Student:

    def __init__(self, forename, surname):
        self.forename = forename
        self.surname = surname
        self.fullname = self.forename + " " + self.surname

    def changeName(self, forename, surname):
        self.forename = forename
        self.surname = surname

s1 = student("billy", "smith")
print(s1.fullname)
s1.changename("tom", "jones")
print(s1.fullname)              ----> why is this not updating?
Reply


Messages In This Thread
classes - by mp3909 - May-31-2020, 12:46 PM
RE: classes - by menator01 - May-31-2020, 01:00 PM
RE: classes - by mp3909 - May-31-2020, 01:15 PM
RE: classes - by buran - May-31-2020, 02:02 PM
RE: classes - by Yoriz - May-31-2020, 03:51 PM
RE: classes - by deanhystad - May-31-2020, 02:17 PM
RE: classes - by buran - May-31-2020, 04:01 PM
RE: classes - by pyzyx3qwerty - Jun-01-2020, 04:27 AM
RE: classes - by mp3909 - Jun-09-2020, 06:13 PM
RE: classes - by Yoriz - Jun-10-2020, 05:34 AM
RE: classes - by deanhystad - Jun-10-2020, 02:16 AM
RE: classes - by snippsat - Jun-10-2020, 08:56 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Using classes? Can I just use classes to structure code? muteboy 5 5,212 Nov-01-2017, 04:20 PM
Last Post: metulburr

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020