By what logic, starting from _input on the Node docs page and using the docs only, can a user come to the conclusion that event.position exists as a thing? What tells you that event has a position available? How do you know you can do event.position?
This will lead to errors. For example when you press a key on your keyboard, the event will have no position as it is not a mouse event. So what you usually want to do is checking what kind of event you have. For example to only detect mouse clicks:
func _input(event):
if event is InputEventMouseButton:
print(event.position)
Or if you want to detect only mouse movements, you would check if it is a InputEventMouseMotion. If you want to allow all mouse events, it would be InputEventMouse and so on.