ho w to pass a v ariable n u mber of arg u ments to a f u
play

Ho w to pass a v ariable n u mber of arg u ments to a f u nction ? P - PowerPoint PPT Presentation

Ho w to pass a v ariable n u mber of arg u ments to a f u nction ? P R AC TIC IN G C OD IN G IN TE R VIE W QU E STION S IN P YTH ON Kirill Smirno v Data Science Cons u ltant , Altran Arg u ment t y pes There are t w o t y pes of arg u ments :


  1. Ho w to pass a v ariable n u mber of arg u ments to a f u nction ? P R AC TIC IN G C OD IN G IN TE R VIE W QU E STION S IN P YTH ON Kirill Smirno v Data Science Cons u ltant , Altran

  2. Arg u ment t y pes There are t w o t y pes of arg u ments : PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  3. Arg u ment t y pes There are t w o t y pes of arg u ments : positional arg u ments PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  4. Arg u ment t y pes There are t w o t y pes of arg u ments : positional arg u ments ke yw ord arg u ments PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  5. Arg u ment t y pes There are t w o t y pes of arg u ments : positional arg u ments ke yw ord arg u ments PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  6. Positional arg u ments def func_with_pos_args(arg1, arg2): pass def multiply(x, y): return x * y multiply(2, 3) 6 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  7. * args def func_with_var_pos_args(*args): pass func_with_var_pos_args(1, 2, 'hello') PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  8. * args def func_with_var_pos_args(*args): print(args) func_with_var_pos_args(1, 2, 'hello') (1, 2, 'hello') PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  9. * args def func_with_var_pos_args(*args): for arg in args: print(arg) func_with_var_pos_args(1, 2, 'hello') 1 2 'hello' PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  10. Redefining m u ltipl y() def multiply(*args): multiply(1, 2, 3): result = 1 for arg in args: 6 result = result * arg return result multiply(1, 2, 3, 4) 24 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  11. Redefining m u ltipl y() def multiply(*nums): multiply(1, 2, 3): result = 1 for num in nums: 6 result = result * num return result multiply(1, 2, 3, 4) 24 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  12. Another u se of single asterisk * def multiply(num1, num2, num3): return num1 * num2 * num3 multiply(1, 2, 3) 6 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  13. Another u se of single asterisk * def multiply(num1, num2, num3): nums = (2, 3, 4) return num1 * num2 * num3 multiply(*nums) 24 nums = [2, 3] multiply(*nums, 4) 24 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  14. Another u se of single asterisk * def multiply(*args): result = 1 for arg in args: result = result * num return result nums = (2, 3, 4, 5) multiply(*nums) 120 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  15. Arg u ment t y pes There are t w o t y pes of arg u ments : positional arg u ments ke yw ord arg u ments PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  16. Ke yw ord arg u ments def func_with_kwargs(arg1=1, arg2=2): def multiply(x=1, y=2): print(str(x) + ' : ' + str(y)) multiply(2, 3) 2 : 3 multiply() 1 : 2 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  17. Ke yw ord arg u ments def func_with_kwargs(arg1=1, arg2=2): def multiply(x=1, y=2): print(str(x) + " : " + str(y)) multiply(y=5, x=3) 3 : 5 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  18. ** k w args k w args - ke yw ord arg u ments def func_with_var_kwargs(**kwargs): print(kwargs) func_with_var_kwargs(arg1=1, arg2=2, arg3=3) {arg1: 1, arg2: 2, arg3: 3} func_with_var_kwargs(1, arg2=2, arg3=3) TypeError PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  19. Redefining m u ltipl y() def multiply_kwargs(**kwargs): result = 1 for (key, value) in kwargs.items(): print(key + ' = ' + str(value)) result = result * value return result def multiply(*args): result = 1 for arg in args: result = result * arg return result PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  20. Calling m u ltipl y_ k w args () multiply_kwargs(num1=1, num2=2, num3=3, num4=4) num1 = 1 num2 = 2 num3 = 3 num4 = 4 24 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  21. Another u se of do u ble asterisk ** def multiply(num1=1, num2=2, num3=3): print('num1 = ' + str(num1)) print('num2 = ' + str(num2)) print('num3 = ' + str(num3)) return num1 * num2 * num3 multiply() num1 = 1 num2 = 2 num3 = 3 6 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  22. Another u se of do u ble asterisk ** def multiply(num1=1, num2=2, num3=3): nums = {'num1': 10, 'num2': 20, 'num3': 30 print('num1 = ' + str(num1)) print('num2 = ' + str(num2)) multiply(**nums) print('num3 = ' + str(num3)) return num1 * num2 * num3 num1 = 10 num2 = 20 num3 = 30 6000 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  23. Another u se of do u ble asterisk ** def multiply(num1=1, num2=2, num3=3): nums = {'num1': 10, 'num3': 30} print('num1 = ' + str(num1)) print('num2 = ' + str(num2)) multiply(**nums) print('num3 = ' + str(num3)) return num1 * num2 * num3 num1 = 10 num2 = 2 num3 = 30 600 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  24. Another u se of do u ble asterisk ** def multiply(num1=1, num2=2, num3=3): nums = {'NUM10': 1, 'num2': 2, 'num3': 3} print('num1 = ' + str(num1)) print('num2 = ' + str(num2)) multiply(**nums) print('num3 = ' + str(num3)) return num1 * num2 * num3 TypeError PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  25. Another u se of do u ble asterisk ** def multiply_kwargs(**kwargs): nums = { result = 1 'num1': 2, 'num2': 3, for (key, value) in kwargs.items(): 'num3': 4, 'num4': 5 print(key + ' = ' + str(value)) } result = result * value return result multiply_kwargs(**nums) num1 = 2 num2 = 3 num3 = 4 num4 = 5 120 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  26. Arg u ment order def func( ): PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  27. Arg u ment order def func(arg1, arg2, ): arg1 , arg2 - positional arg u ments PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  28. Arg u ment order def func(arg1, arg2, *args, ): arg1 , arg2 - positional arg u ments *args - positional arg u ments of v ariable si z e PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  29. Arg u ment order def func(arg1, arg2, *args, kwarg1, kwarg2, ): arg1 , arg2 - positional arg u ments *args - positional arg u ments of v ariable si z e kwarg1 , kwarg2 - ke yw ord arg u ments PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  30. Arg u ment order def func(arg1, arg2, *args, kwarg1, kwarg2, **kwargs): arg1 , arg2 - positional arg u ments *args - positional arg u ments of v ariable si z e kwarg1 , kwarg2 - ke yw ord arg u ments **kwargs - ke yw ord arg u ments of v ariable si z e def func(arg1, arg2, *args): def func(arg1, arg2, **kwargs): def func(*args, **kwargs): PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  31. Let ' s practice ! P R AC TIC IN G C OD IN G IN TE R VIE W QU E STION S IN P YTH ON

  32. What is a lambda e x pression ? P R AC TIC IN G C OD IN G IN TE R VIE W QU E STION S IN P YTH ON Kirill Smirno v Data Science Cons u ltant , Altran

  33. Definition lambda e x pression / f u nction - is a short f u nction ha v ing the follo w ing s y nta x: lambda arg1, arg2, ...: expression(arg1, arg2, ...) PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  34. Definition lambda e x pression / f u nction - is a short f u nction ha v ing the follo w ing s y nta x: lambda PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  35. Definition lambda e x pression / f u nction - is a short f u nction ha v ing the follo w ing s y nta x: lambda arg1, arg2, ...: PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  36. Definition lambda e x pression / f u nction - is a short f u nction ha v ing the follo w ing s y nta x: lambda arg1, arg2, ...: expression(arg1, arg2, ...) lambda x: x**2 squared = lambda x: x**2 squared(4) 16 4 → x → x**2 → 16 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  37. Definition lambda e x pression / f u nction - is a short f u nction ha v ing the follo w ing s y nta x: lambda arg1, arg2, ...: expression(arg1, arg2, ...) power = lambda x, y: x**y power(2, 3) 8 2, 3 → x, y → x**y → 8 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  38. Missing arg u ment power = lambda x, y: x**y power(2) TypeError PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  39. Comparison to normal f u nction definition squared_lambda = lambda x: x**2 def squared_normal(x): return x**2 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  40. Comparison to normal f u nction definition lambda def PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  41. Comparison to normal f u nction definition squared_lambda = lambda def squared_normal PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  42. Comparison to normal f u nction definition squared_lambda = lambda x: def squared_normal(x): PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  43. Comparison to normal f u nction definition squared_lambda = lambda x: x**2 squared_lambda(3) def squared_normal(x): 9 return x**2 squared_normal(3) 9 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

  44. Passing lambda f u nction as an arg u ment def function_with_callback(num, callback_function): return callback(num) callback_function(arg) - a f u nction w ith one arg u ment def squared_normal(x): return x**2 function_with_callback(2, squared_normal) 4 PRACTICING CODING INTERVIEW QUESTIONS IN PYTHON

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend