diff options
Diffstat (limited to 'learning_python')
| -rw-r--r-- | learning_python/__init__.py | 0 | ||||
| -rw-r--r-- | learning_python/late_binding.py | 23 | ||||
| -rw-r--r-- | learning_python/mutable_params.py | 13 | ||||
| -rw-r--r-- | learning_python/yield_demo.py | 19 |
4 files changed, 55 insertions, 0 deletions
diff --git a/learning_python/__init__.py b/learning_python/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/learning_python/__init__.py diff --git a/learning_python/late_binding.py b/learning_python/late_binding.py new file mode 100644 index 0000000..775a6d7 --- /dev/null +++ b/learning_python/late_binding.py @@ -0,0 +1,23 @@ + +def create_multipliers(): + return [lambda x : i * x for i in range(5)] + + +def create_multipliers_explicit(): + return [lambda x, i=i: i * x for i in range(5)] + + +def create_multipliers_yield(): + for i in range(5): + yield lambda x: i*x + + +for multiplier in create_multipliers(): + print(multiplier.__closure__[0].cell_contents, multiplier(2)) + +for multiplier in create_multipliers_explicit(): + print(multiplier.__closure__, multiplier(2)) + +for multiplier in create_multipliers_yield(): + print(multiplier.__closure__[0].cell_contents, multiplier(2)) + diff --git a/learning_python/mutable_params.py b/learning_python/mutable_params.py new file mode 100644 index 0000000..6e2fdce --- /dev/null +++ b/learning_python/mutable_params.py @@ -0,0 +1,13 @@ + +def append_to(element, to=[]): + to.append(element) + return to + + +if __name__ == '__main__': + + my_list = append_to(12) + print(my_list, append_to) + + my_other_list = append_to(42) + print(my_other_list, append_to) diff --git a/learning_python/yield_demo.py b/learning_python/yield_demo.py new file mode 100644 index 0000000..46480c3 --- /dev/null +++ b/learning_python/yield_demo.py @@ -0,0 +1,19 @@ + + +def generator(): + for i in range(10): + yield i + print(i) + + +def fun(): + for i in range(10): + print(i) + print(i) + + +if __name__ == '__main__': + + # for i in generator(): + # print(i) + fun() |
