some_numbers = [2, 5, 20, 18, 4]

more_numbers = some_numbers.copy()

some_numbers[2] = 100

# print(more_numbers[2])  # prints 100?

class Sample:
    other_samples = []
    value = 0

samples = [Sample(), Sample(), Sample()]
more_samples = samples.copy()  # shallow copy
samples[1].value = 10
samples[1].other_samples.append(samples[0])
# print(more_samples[1].value)  # 10

samples.append(Sample())
samples[3].value = 100
# print(more_samples[3].value)

other_sample.value = 40
# print(sample.value)

class Dog:
    def __init__(self, age, name):
        self.age = age
        self.name = name

# dog_1 = Dog()

class Node:
    next_node = None

    def __init__(self, value):
        self.value = value
    
node_1 = Node(0)
node_2 = Node(0)

node_2.value = 10

node_1.next_node = node_2

node_2.value = 20

current_node = node_1
while (current_node != None):
    print(current_node.value)
    current_node = current_node.next_node
