Learning Python: Chapter 16

  •  
  • Perl Python
    my $x = 10;
    sub foo
    {
      $x = 20;
    }
    
    x = 10
    def foo():
      global x
      x = 20
    
  • Declaring a variable in a function as global is only necessary for reassignments, not for mere read-access.
  • def foo(x, y, z): pass

    foo(10, 20, 30)
    does the same as
    params = [10, 20, 30]
    foo(*params)

    def foo(x = 0, y = 0, z = 0): pass

    foo(x = 10, y = 20, z = 30)
    does the same as
    params = { 'x' : 10, 'y' : 20, 'z' : 30 }
    foo(**params)

    def foo(*params): pass
    foo(10, 20, 30)
    sets params to [10, 20, 30]

    def foo(**params): pass
    foo(x = 10, y = 20, z = 30)
    sets params to { 'x' : 10, 'y' : 20, 'z' : 30 }

Leave a Reply