Question: ```
>>> b = lambda x, y = 2: x + y
>>> b( 1 )

3

```

I can't figure out how this function produces 3

Answer: 
b is equivalent to 

```
def b(x, y=2):
    return x+y

```

Then I think you could understand why b(1) is 3
That's because a default value is set to `y`

Let's see with demo:

* with no default value

```
>>b = lambda x, y: x + y
>>b()
TypeError: <lambda>() takes exactly 2 arguments (0 given)
>>b(1)
TypeError: <lambda>() takes exactly 2 arguments (1 given)
>>b(1,2)
3

```
* With default value in `y`

```
>>b = lambda x, y=1: x + y
>>b()
TypeError: <lambda>() takes at least 1 argument (0 given)
>>b(1)
2
>>b(1,2)
3     

```
* With two default value

```
>>b = lambda x=2, y=1: x + y
>>b()
3
>>b(1)
2 
>>b(2,2)
4          

```