Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 10b1b05

Browse filesBrowse files
committed
misc
1 parent ca500f7 commit 10b1b05
Copy full SHA for 10b1b05

File tree

Expand file treeCollapse file tree

2 files changed

+1
-707
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+1
-707
lines changed
Open diff view settings
Collapse file

‎lectures/names.md‎

Copy file name to clipboardExpand all lines: lectures/names.md
-91Lines changed: 0 additions & 91 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -568,96 +568,5 @@ If you want to modify the local `x` and the global `x` separately, you can creat
568568

569569
We will leave this for you to explore.
570570

571-
## Summary
572571

573-
Messages in this lecture are clear:
574-
575-
* In Python, *everything in memory is treated as an object*.
576-
* Zero, one or many names can be bound to a given object.
577-
* Every name resides within a scope defined by its namespace.
578-
579-
This includes not just lists, strings, etc., but also less obvious things, such as
580-
581-
* functions (once they have been read into memory)
582-
* modules (ditto)
583-
* files opened for reading or writing
584-
* integers, etc.
585-
586-
Consider, for example, functions.
587-
588-
When Python reads a function definition, it creates a **function object** and stores it in memory.
589-
590-
The following code illustrates further this idea
591-
592-
```{code-cell} python3
593-
#reset the current namespace
594-
%reset
595-
```
596-
597-
```{code-cell} python3
598-
def f(x): return x**2
599-
f
600-
```
601-
602-
```{code-cell} python3
603-
type(f)
604-
```
605-
606-
```{code-cell} python3
607-
id(f)
608-
```
609-
610-
```{code-cell} python3
611-
f.__name__
612-
```
613-
614-
We can see that `f` has type, identity, attributes and so on---just like any other object.
615-
616-
It also has methods.
617-
618-
One example is the `__call__` method, which just evaluates the function
619-
620-
```{code-cell} python3
621-
f.__call__(3)
622-
```
623-
624-
Another is the `__dir__` method, which returns a list of attributes.
625-
626-
We can also find `f` our current namespace
627-
628-
```{code-cell} python3
629-
'f' in dir()
630-
```
631-
632-
Modules loaded into memory are also treated as objects
633-
634-
```{code-cell} python3
635-
import math
636-
637-
id(math)
638-
```
639-
640-
We can find `math` in our global namespace after the import
641-
642-
```{code-cell} python3
643-
print(dir()[-1::-1])
644-
```
645-
646-
We can also find all objects associated with the `math` module in the private namespace of `math`
647-
648-
```{code-cell} python3
649-
print(dir(math))
650-
```
651-
652-
We can also directly import objects to our current namespace using `from ... import ...`
653-
654-
```{code-cell} python3
655-
from math import log, pi, sqrt
656-
657-
print(dir()[-1::-1])
658-
```
659-
660-
We can find these names appear in the current namespace now.
661-
662-
*This uniform treatment of data in Python (everything is an object) helps keep the language simple and consistent.*
663572

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.