forked from mikeckennedy/write-pythonic-code-demos
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1.txt
More file actions
24 lines (24 loc) · 1.46 KB
/
Copy path1.txt
File metadata and controls
24 lines (24 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
0:01 Our next category of Pythonic concepts and tips
0:03 is going to be around functions and methods.
0:06 Python is a multi-paradigm programming language,
0:09 we can write procedural code,
0:10 we could write object-oriented code,
0:12 we could write functional code and with things like decorators
0:15 we can even write aspect-oriented code.
0:17 Python's functional support is very strong,
0:20 you'll see the functions and methods are first class symbols and citizens in Python
0:25 and they are highly flexible and powerful.
0:28 When you define a function or method with a "def" keyword,
0:32 you're really instantiating a function object and you can pass that object around
0:37 just like you can pass a number or a string or an instance of a class.
0:41 You'll see that those function objects can even be changed at runtime
0:45 you could dynamically add a field to a function
0:47 just by saying "function.value=something".
0:50 Not saying that you should do that, but just considering the flexibility, right.
0:55 Functions even allow you create things called closures,
0:57 both inline functions as well as lambda expressions,
1:00 that's a very powerful programming technique often used in places
1:03 like Javascript for data hiding and encapsulation.
1:07 And finally with things like lambda expressions
1:09 we can even define small inline methods as little bits of executable code
1:14 that we can pass around in super concise and composable ways.