input: Write a function to implement a linked list using classes in Python. The function should define two classes: `Node` for representing the nodes of the linked list and `LinkedList` for representing the entire linked list. The `LinkedList` class should have a method to print the entire list. Ensure that after creating nodes and linking them, printing the list outputs the data stored in each node in the correct order.
  
  class Node:
      """Node class to represent the node in a linked list"""
      def __init__(self, data):
          self.data = data
          self.next = None
  
  class LinkedList:
      """LinkedList class to represent the entire linked list"""
      def __init__(self):
          self.head = None
      
      def print_list(self):
          node = self.head
          while(node):
              print(node.data)
              node = node.next
  
  # Asserting the functionality
  linked_list = LinkedList()
  node1 = Node(1)
  node2 = Node(2)
  node3 = Node(3)
  linked_list.head = node1
  node1.next = node2
  node2.next = node3
  
  # Output should be the data of the nodes in order
  assert linked_list.print_list() == None
output: 
  class Node:
      """Node class to represent the node in a linked list"""
      def __init__(self, data):
          self.data = data
          self.next = None
  
  class LinkedList:
      """LinkedList class to represent the entire linked list"""
      def __init__(self):
          self.head = None
      
      def print_list(self):
          node = self.head
          while(node):
              print(node.data)
              node = node.next
  