Well the better solution is a mix of both.
Store your initial values for player/NPCs/whatever in arrays, and on creation of said instance, fill the instance variables with the value out of the array.
For the value you want to keep from an iteration to another, store them on death of the player in global variables, or an array which values are meant to change over time and apply them to the "newly" created player instance.
Stuff like score, numbers of kills/death, etc... can be stored in global variables. Assuming you only have one player which is scoring/killing/dying.