x 15 coord 3 x 2 7 x 15 coord 3 x 2 7
play

x = 15 coord = 3*(x-2.7) x , = , 15 , , coord , = , 3, *, (, - PowerPoint PPT Presentation

x = 15 coord = 3*(x-2.7) x , = , 15 , , coord , = , 3, *, (, x , - , 2.7, ) ... = = * x 15 coord 3 = x 15 x 2.7 LOAD_CONST 0 # load the literal (constant) at loc. 0 x = 5 y = 7 z = x + y LOAD_CONST LOAD_NAME


  1. • • •

  2. x = 15 coord = 3*(x-2.7)

  3. x , = , 15 , , coord , = , 3, *, (, x , - , 2.7, ) ... = = * x 15 coord 3 – = x 15 x 2.7

  4. LOAD_CONST 0 # load the literal (constant) at loc. 0

  5. x = 5 y = 7 z = x + y

  6. LOAD_CONST LOAD_NAME STORE_NAME BINARY_ADD BINARY_SUBTRACT

  7. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  8. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  9. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  10. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  11. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  12. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  13. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  14. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  15. LOAD_CONST 0 # 5 STORE_NAME 0 # x LOAD_CONST 1 # 7 x = 5 STORE_NAME 1 # y y = 7 z = x + y LOAD_NAME 0 # x LOAD_NAME 1 # y BINARY_ADD STORE_NAME 2 # z

  16. LOAD_CONST 0 STORE_NAME 0 LOAD_NAME 0 a b LOAD_CONST 1 c BINARY_SUBTRACT STORE_NAME 1 LOAD_NAME 0 LOAD_NAME 1 BINARY_ADD STORE_NAME 2

  17. def inner(x): y = x + 1 return y def outer(x): inner y = x / 2 outer outer return inner(y) + 7 inner outer print(outer(4))

  18. def inner(x): y = x + 1 return y def outer(x): y = x / 2 [ ] ; outer(4) return inner(y) + 7 Call Stack outer(4)

  19. def inner(x): y = x + 1 return y def outer(x): [x=4] ; y = x / 2 y = x / 2 [ ] ; outer(4) return inner(y) + 7 Call Stack outer(4)

  20. def inner(x): y = x + 1 return y def outer(x): [x=4, y=2.0] ; return inner(y) + 7 y = x / 2 [ ] ; outer(4) return inner(y) + 7 Call Stack outer(4)

  21. def inner(x): y = x + 1 return y [x=2.0] ; y = x + 1 def outer(x): [x=4, y=2.0] ; return inner( 2.0 ) + 7 y = x / 2 [ ] ; outer(4) return inner(y) + 7 Call Stack outer(4)

  22. def inner(x): y = x + 1 return y [x=2.0, y=3.0] ; return y def outer(x): [x=4, y=2.0] ; return inner( 2.0 ) + 7 y = x / 2 [ ] ; outer(4) return inner(y) + 7 Call Stack outer(4)

  23. def inner(x): y = x + 1 return y def outer(x): [x=4, y=2.0] ; return 3.0 + 7 y = x / 2 [ ] ; outer(4) return inner(y) + 7 Call Stack outer(4)

  24. def inner(x): y = x + 1 return y def outer(x): y = x / 2 [ ] ; 10.0 return inner(y) + 7 Call Stack outer(4)

  25. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ ] ; wallet = 20.00 wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) >>>

  26. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ wallet=20.00 ] ; wallet = payForMeal(wallet, 7.25) wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) >>>

  27. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ cash=20.00, cost=7.25 ] ; cash = cash-cost [ wallet=20.00 ] ; wallet = payForMeal( 20.00 , 7.25) wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) >>>

  28. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ cash=12.75 , cost=7.25 ] ; print("Thanks!") [ wallet=20.00 ] ; wallet = payForMeal(20.00, 7.25) wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) >>> Thanks! >>>

  29. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ cash=12.75, cost=7.25 ] ; return cash [ wallet=20.00 ] ; wallet = payForMeal(20.00, 7.25) wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) Thanks! >>>

  30. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ wallet=20.00 ] ; wallet = 12.75 wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) Thanks! >>>

  31. def payForMeal(cash, cost): cash = cash - cost print("Thanks!") return cash [ wallet=12.75 ] wallet = 20.00 Call Stack wallet = payForMeal(wallet, 7.25) Thanks! >>>

  32. x = @ # @ is not a valid token 4 + 5 = x # the parser stops because it doesn't follow the rules x = 4 # IndentationError: whitespace has meaning print(4 + 5 # Incomplete Error: always close parentheses/quotes

  33. print(Hello) # NameError: used a missing variable print("2" + 3) # TypeError: illegal operation on types x = 5 / 0 # ZeroDivisionError: can't divide by zero

  34. print("2 + 2 = ", 5) # no error message, but wrong! def double(x): return x + 2 # adding instead of multiplying

  35. • • • •

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