RPG User File (Stats Holder) This is my Player file. It is mainly for saving purposes. Is it easy to understand and read? Anything I should add or change for improvements?

#Programmer: DeliriousSyntax
#Player.py
#Date: November 22, 2015

import math


class User:
    def __init__(self, user, class_type):
        self.user = user
        self.level = 1
        self.xp = 1
        self.Class = class_type
        self.dex_attr = 0
        self.tech_attr = 0
        self.strength_attr = 0
        self.health_attr = 0
        self.energy_attr = 0
        self.boss_kills = 0
        self.ordinary_kills = 0
        self.towns_visited = 0
        self.money_earned = 0
        self.money = 0
        self.black_jack_wins = 0
        self.beers = 0
        self.houses = 0
        self.rent = 0
        self.shops = 0

    @property
    def drinking_class(self):
        if self.beers &lt;= 25:
            return "Teetotaler"
        elif self.beers &lt;= 250 and self.beers &gt; 25:
            return "Light Drinker"
        elif self.beers &gt; 250:
            return "Alcoholic"

    @property
    def health(self):
        return 110 + (self.health_attr * 4)

    @property
    def energy(self):
        return 50 + (self.energy_attr * 4)

    @property
    def strength(self):
        return 15 + self.strength_attr

    @property
    def tech(self):
        return 15 + self.tech_attr

    @property
    def dex(self):
        return 15 + self.dex_attr

    @property
    def lvl_xp(self):
        return int(math.sqrt(float(self.level) * 999) * self.level)

    def update_level(self):
        while self.xp &gt;= self.lvl_xp:
            self.level+=1
            print("Level Up! \nLevel {} reached! {}xp to next level.".format(lvl, lvl_xp))

    def stats(self):
        return('\n\n==============Player Stats===============\n' + 
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Name', self.user)   +
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Class', self.Class) +
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Level', self.level) +
            '|-{:&lt;17}-|-{:&gt;8}/{:&lt;8}-|\n'.format(' XP', self.xp, self.lvl_xp)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Boss Kills', self.boss_kills)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Normal Kills', self.ordinary_kills)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Towns Visited', self.towns_visited)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Drinking Class', self.drinking_class)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Gambling Wins', self.black_jack_wins)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Houses', self.houses)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Houses Sold', self.houses)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Rent Collected', self.rent)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Shops', self.shops)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Money', self.money)+
            '|-{:&lt;17}-|-{:^17}-|\n'.format(' Total Money', self.money_earned))

##This is for testing 
p = User(' Arse Face', 'Assassin')
def stats():
    Stats = p.stats()
    print(Stats)
You seem to have a lot of counts of things. towns_visited is a good example. This implies to me that in your game, you would have a variety of towns to be visited. Perhaps, having an empty set for which towns you have visited, and instead of towns_visited, just use a count of that set. Every time you visit a town, add it to the set. The same would apply to houses. Every time you buy a house, add the specific house object to a list and that would take care of houses and what you do with them. I'm assuming you know the difference between a list and a set.