Being new to python I just came across the `property` keyword which basically lets you assign getters and setters. I came up with this simple example

```
class foo:
    def __init__(self,var=2):
        self.var= var

    def setValue(self,var):
        print("Setting value called")
        self._var  = var

    def getValue(self):
        print("getting value")

    var = property(getValue,setValue)

```

Now in my django project I came across with something like this (using a lambda in a property)

```
class UserProfile(models.Model):
    user = models.OneToOneField(User)
    likes_cheese = models.BooleanField(default=True)
    puppy_name = models.CharField(max_length=20)

User.profile = property(lambda u : UserProfile.objects.get_or_create(user=u)[0])

```

I had no clue that you could use a lambda inside a property. Now from what I understand is that it is setting the getter of the `profile` as a lambda and the getter requires a parameter. This kind of confused me. So I decided to try my own example

```
class double:
    def setValue(self,var):
        print("Setting value called")
        self._var  = var

    def getValue(self):
        print("getting value")

    #var = property(getValue,setValue)
    var = property(lambda x: print("The value of parameter is" + str(x)))

d =double()
d.var #Call the getter but how do i pass a value parameter to it ? 

```

Now in my case how can i pass a parameter to the lambda ?