Question: Why do I get the attribute error when tried to split the string `full_name` on space and assign it to two variables?

```
class Person(object):
    def __init__(self, full_name):
        """Person initializer"""
        self.first_name, self.last_name = full_name.split()

    @property
    def first_name(self):
        return self.first_name

    @property
    def last_name(self):
        return self.last_name

if __name__ == '__main__':
    swadhi = Person("Swadhikar Chandramohan")
    print swadhi.first_name
    print swadhi.last_name

```

Error:

```
C:\Python27\python.exe C:/Users/swadhi/Documents/test/tutorial/inheritance.py
Traceback (most recent call last):
  File "C:/Users/swadhi/Documents/test/tutorial/inheritance.py", line 18, in <module>
    swadhi = Person("Swadhikar Chandramohan")
  File "C:/Users/swadhi/Documents/test/tutorial/inheritance.py", line 6, in __init__
    self.first_name, self.last_name = full_name.split(' ')
AttributeError: can't set attribute

```

Answer: 
No need of using `property` here

```
class Person(object):
    def __init__(self, full_name):
        """Person initializer"""
        self.first_name, self.last_name = full_name.split()

if __name__ == '__main__':
    swadhi = Person("Swadhikar Chandramohan")
    print swadhi.first_name
    print swadhi.last_name

```
```
class Person(object):
    def __init__(self, full_name):
        """Person initializer"""
        self._first_name, self._last_name = full_name.split()

    @property
    def first_name(self):
        return self._first_name

    @property
    def last_name(self):
        return self._last_name

if __name__ == '__main__':
    swadhi = Person("Swadhikar Chandramohan")
    print swadhi.first_name
    print swadhi.last_name

```

As above, make sure a "\_" prefixed at the property name when defining the class property.