how to instantiate an object within another object and then call methods from the second object (python)

General Tech Bugs & Fixes 2 years ago

0 1 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago


i have the following code:

class Commit:

id = 0
commits = []

def __init__(self, message=None, changes=None):
    Commit.id += 1
    self.id = Commit.id
    self.message = tuple([message])
    self.changes = tuple(changes)
    Commit.commits.append(self.message + self.changes)
    self.commits = Commit.commits
    self.next = None

class Branch:

def __init__(self):
    self.tail = None
    self.head = None

def new_commit(self, commit):
    if not self.head:
        self.head = commit
        self.tail = self.head
    else:
        self.tail.next = commit
        self.tail = self.tail.next

class Repository:

branches = {}

def __init__(self, name):
    self.name = name
    self.branches = Repository.branches
def branch(self, branch_name):
    self.branch_name = Branch()
    self.branches[branch_name] = self.branch_name
    return self.branches[branch_name]

but when i do this to instantiate it:

    repo = Repository("syllabus 2.0")
    repo.branch("master").new_commit(Commit(message="add readme", changes=[("CREATE", "README.md")]))
    print(repo.branch("master").head)

it prints None Why is this happening?

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.