I've created a scene with a 3x8 grid and as the game progresses each square in the grid will have one item in it (or be empty). Each item is built from the same node just with a different texture and a few other properties, and changes as the game goes on. I want to add up the score of all the objects in the scene. Basically check all the objects of this type in the scene and add up their score value to give the total score. Does that make sense? Is there a neat way to do this?

One way is to use groups. So add the square Node to a group called "squares" (or whatever) the button is on the top right of the editor. Then use the function get_tree().get_nodes_in_group("squares") and you can iterate from that list and either call a function to return the item, or check the item variable manually.

That's great thanks. Seems to be working so for.
This is my code:

func get_score():
	var total_score = 0
	var objects = get_tree().get_nodes_in_group("Objects")
	for object in objects:
		  total_score += object.object_score
	get_parent().get_node("HealthDisplay/HealthBar").value = total_score

edit: indenting now fixed. Thanks. It seems you use squiggles ~~~ instead of the 'code' option

    nb_dot (indenting not showing for some reason)

    It seems that in order to place the code you need to highlight it at the top and bottom ~~~

    nb_dot It seems you use squiggles ~~~ instead of the 'code' option

    you can also use ``` to the same effect.

    and ```python for an example on the first one for syntax highlighting.