I've defined a class with 5 instance variables

```
class PassPredictData:
    def __init__(self, rating, name, lat, long, elev):
        self.rating = rating
        # rest of init code

```

I want to ensure:

* `rating` is an int
* `name` is a str
* `lat`, `long`, `elev` are floats

When reading my input file, everything works creating a list of objects based on my class. When I start comparing values I got weird results since the instance variables were still strings.

Is the "most Pythonic way" to cast the values as the object is being created using `int(string)` and `float(string)` when calling the constructor or should this casting be done with logic inside the class?