Lambda in Python

Buy Me a Coffee☕ *Memos: My post explains variable assignment. My post explains iterable unpacking in variable assignment. My post explains parameters and arguments. My post explains positional-only parameters in function. My post explains keyword-only parameters in function. My post explains positional-only parameters and keyword-only parameters together in function. Lambda: is the function which can be stored in a variable and parameter. is an expression. cannot be used with pass. is almost same as a normal function except these above. You can see Lambda Expressions You can use Lambda as shown below: # Equivalent v1 = lambda: 2 # def func(): return 2 v1 = lambda x: x # def func(x): return x v1 = lambda x, y: x+y # def func(x, y): return x+y v1 = lambda x, y=3: x+y # def func(x, y=3): return x+y v1 = lambda x=2, y=3: x+y # def func(x=2, y=3): return x+y v1 = lambda x=2, /, y=3, *, z=4: x+y+z # def func(x=2, /, y=3, *, z=4): # No error # return x+y+z v1 = v2 = lambda: 2 v1, v2 = [lambda: 2, lambda: 3] # No error v1 = lambda: pass v1 = def func() return 2 v1 = func() return 2 # SyntaxError: invalid syntax v1 = lambda: 2 print(v1()) # 2 v1 = lambda x: x print(v1(2)) # 2 print(v1(x=2)) # 2 v1 = lambda x, y: x+y print(v1(2, 3)) # 5 print(v1(2, y=3)) # 5 print(v1(x=2, y=3)) # 5 print(v1(y=3, x=2)) # 5 v1 = lambda x=2, y=3: x+y print(v1(6)) # 9 print(v1(x=6)) # 9 print(v1(y=5)) # 7 print(v1(6, 5)) # 11 print(v1(6, y=5)) # 11 print(v1(x=6, y=5)) # 11 print(v1(y=5, x=6)) # 11 v1 = lambda x=2, /, y=3, *, z=4: x+y+z print(v1(6, 5, z=4)) # 15 print(v1(6, y=5, z=4)) # 15 print(v1(6, z=4, y=5)) # 15 v1 = v2 = lambda: 2 print(v1(), v2()) # 2 2 v1, v2 = [lambda: 2, lambda: 3] print(v1(), v2()) # 2 3 def func(x=lambda: 2): print(x()) func() # 2 func(lambda: 4) # 4 func(x=lambda: 4) # 4

May 18, 2025 - 00:20
 0
Lambda in Python

Buy Me a Coffee

*Memos:

Lambda:

  • is the function which can be stored in a variable and parameter.
  • is an expression.
  • cannot be used with pass.
  • is almost same as a normal function except these above.
  • You can see Lambda Expressions

You can use Lambda as shown below:

                                       # Equivalent
v1 = lambda: 2                         # def func(): return 2
v1 = lambda x: x                       # def func(x): return x
v1 = lambda x, y: x+y                  # def func(x, y): return x+y
v1 = lambda x, y=3: x+y                # def func(x, y=3): return x+y
v1 = lambda x=2, y=3: x+y              # def func(x=2, y=3): return x+y
v1 = lambda x=2, /, y=3, *, z=4: x+y+z # def func(x=2, /, y=3, *, z=4):
# No error                             #     return x+y+z

v1 = v2 = lambda: 2
v1, v2 = [lambda: 2, lambda: 3]
# No error

v1 = lambda: pass
v1 = def func() return 2
v1 = func() return 2
# SyntaxError: invalid syntax
v1 = lambda: 2
print(v1()) # 2

v1 = lambda x: x
print(v1(2))   # 2
print(v1(x=2)) # 2

v1 = lambda x, y: x+y
print(v1(2, 3))     # 5
print(v1(2, y=3))   # 5
print(v1(x=2, y=3)) # 5
print(v1(y=3, x=2)) # 5

v1 = lambda x=2, y=3: x+y
print(v1(6))         # 9
print(v1(x=6))       # 9
print(v1(y=5))       # 7
print(v1(6, 5))      # 11
print(v1(6, y=5))    # 11
print(v1(x=6, y=5))  # 11
print(v1(y=5, x=6))  # 11

v1 = lambda x=2, /, y=3, *, z=4: x+y+z
print(v1(6, 5, z=4))   # 15
print(v1(6, y=5, z=4)) # 15
print(v1(6, z=4, y=5)) # 15

v1 = v2 = lambda: 2
print(v1(), v2()) # 2 2

v1, v2 = [lambda: 2, lambda: 3]
print(v1(), v2()) # 2 3

def func(x=lambda: 2):
    print(x())
func()            # 2
func(lambda: 4)   # 4
func(x=lambda: 4) # 4