Blame | Last modification | View Log | Download
10.2 First module>>> piTraceback (innermost last):File "<stdin>", line 1, in ?NameError: name 'pi' is not defined>>> area(2)Traceback (innermost last):File "<stdin>", line 1, in ?NameError: name 'area' is not defined>>> import mymath>>> piTraceback (innermost last):File "<stdin>", line 1, in ?NameError: name 'pi' is not defined>>> mymath.pi3.14159>>> mymath.area(2)12.56636>>> mymath.__doc__'mymath - our example math module'>>> mymath.area.__doc__'area(r): return the area of a circle with radius r.'>>> from mymath import pi>>> pi3.14159>>> area(2)Traceback (innermost last):File "<stdin>", line 1, in ?NameError: name 'area' is not defined>>> import mymath, importlib>>> importlib.reload(mymath)<module 'mymath' from '/home/doc/quickpythonbook/code/mymath.py'>10.5 Private names in modules>>> from modtest import *>>> f(3)3>>> _g(3)Traceback (innermost last):File "<stdin>", line 1, in ?NameError: name '_g' is not defined>>> a4>>> _bTraceback (innermost last):File "<stdin>", line 1, in ?NameError: name '_b' is not defined>>> import modtest>>> modtest._b2>>> from modtest import _g>>> _g(5)510.7 10.7 Python scoping rules and namespaces>>> locals(){'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__','__doc__': None, '__package__': None}>>> globals(){'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__','__doc__': None, '__package__': None}>>>>>> z = 2>>> import math>>> from cmath import cos>>> globals(){'cos': <built-in function cos>, '__builtins__': <module 'builtins'(built-in)>, '__package__': None, '__name__': '__main__', 'z': 2,'__doc__': None, 'math': <module 'math' from'/usr/local/lib/python3.0/libdynload/math.so'>}>>> locals(){'cos': <built-in function cos>, '__builtins__':<module 'builtins' (built-in)>, '__package__': None, '__name__':'__main__', 'z': 2, '__doc__': None, 'math': <module 'math' from'/usr/local/lib/python3.0/libdynload/math.so'>}>>> math.ceil(3.4)4>>> del z, math, cos>>> locals(){'__builtins__': <module 'builtins' (built-in)>, '__package__': None,'__name__': '__main__', '__doc__': None}>>> math.ceil(3.4)Traceback (innermost last):File "<stdin>", line 1, in <module>NameError: math is not defined>>> import math>>> math.ceil(3.4)4>>> def f(x):... print("global: ", globals())... print("Entry local: ", locals())... y = x... print("Exit local: ", locals())...>>> z = 2>>> globals(){'f': <function f at 0xb7cbfeac>, '__builtins__': <module 'builtins'(built-in)>, '__package__': None, '__name__': '__main__', 'z': 2,'__doc__': None}>>> f(z)global: {'f': <function f at 0xb7cbfeac>, '__builtins__': <module'builtins' (built-in)>, '__package__': None, '__name__': '__main__','z': 2, '__doc__': None}Entry local: {'x': 2}Exit local: {'y': 2, 'x': 2}>>>10.7 Python scoping rules and namespaces>>> locals(){'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__','__doc__': None, '__package__': None}>>> globals(){'__builtins__': <module 'builtins' (built-in)>, '__name__': '__main__',>>> import scopetest>>> z = 2>>> scopetest.f(z)global: ['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__file__', '__cached__', '__builtins__', 'v', 'f']entry local: {'x': 2}exit local: dict_keys(['x', 'w', 'y'])>>> print(max.__doc__)max(iterable[, key=func]) -> valuemax(a, b, c, ...[, key=func]) -> valueWith a single iterable argument, return its largest item.With two or more arguments, return the largest argument.>>>>>> list("Peyto Lake")['P', 'e', 'y', 't', 'o', ' ', 'L', 'a', 'k', 'e']>>> list = [1, 3, 5, 7]>>> list("Peyto Lake")Traceback (innermost last):File "<stdin>", line 1, in ?TypeError: 'list' object is not callable>>> import mymath>>> mymath = mymath.area>>> mymath.piTraceback (most recent call last):File "<stdin>", line 1, in <module>AttributeError: 'function' object has no attribute 'pi'>>> del list>>> list("Peyto Lake")['P', 'e', 'y', 't', 'o', ' ', 'L', 'a', 'k', 'e']>>> import mymath>>> mymath.pi3.14159>>> x1 = 6>>> xl = x1 - 2>>> x16>>> dir()['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'x1', 'xl']